pri:docbook2odt
اختلافات
عرض الاختلافات بين النسخة المختارة و النسخة الحالية من الصفحة.
جانبي المراجعة السابقةالمراجعة السابقة | |||
pri:docbook2odt [2010/03/27 16:43] – alsadi | pri:docbook2odt [2015/04/23 03:21] (حالي) – تحرير خارجي 127.0.0.1 | ||
---|---|---|---|
سطر 1: | سطر 1: | ||
+ | ====== التحويل من docbook إلى odt ثم pdf ====== | ||
+ | الموقع التالي يحتوي على xsl وسكربت perl لعمل ذلك | ||
+ | * http:// | ||
+ | |||
+ | لسبب ما سكربت بيرل لا يعمل جيدا | ||
+ | |||
+ | قمت بكتابة بديل على bash قم وضعه داخل utils | ||
+ | |||
+ | <code bash> | ||
+ | #!/bin/bash | ||
+ | # docbook2odf.sh | ||
+ | function error() | ||
+ | { | ||
+ | echo " | ||
+ | exit 1 | ||
+ | } | ||
+ | myscript=$( basename " | ||
+ | prefix=$( dirname " | ||
+ | [ $# -ne 2 ] && error " | ||
+ | input=$1; shift | ||
+ | output_file=$1; | ||
+ | b_o=`basename " | ||
+ | PATH_XSL=" | ||
+ | TEMP="/ | ||
+ | |||
+ | mkdir -p " | ||
+ | mkdir -p " | ||
+ | mkdir -p " | ||
+ | mkdir -p " | ||
+ | |||
+ | echo " | ||
+ | echo " | ||
+ | echo " | ||
+ | |||
+ | ################################################################################## | ||
+ | # DOCBOOK -> ODF (one big xml) | ||
+ | ################################################################################## | ||
+ | |||
+ | XML_DOC=" | ||
+ | XSL=" | ||
+ | OPTIONS=' | ||
+ | xsltproc --stringparam generate.toc 1 --stringparam CI.text.copyright " | ||
+ | |||
+ | # | ||
+ | echo " | ||
+ | |||
+ | ################################################################################## | ||
+ | # SPLIT | ||
+ | ################################################################################## | ||
+ | XML_DOC=" | ||
+ | XSL=" | ||
+ | |||
+ | # MANIFEST | ||
+ | xsltproc --stringparam part manifest " | ||
+ | # META | ||
+ | xsltproc --stringparam part meta " | ||
+ | # STYLES | ||
+ | xsltproc --stringparam part styles " | ||
+ | # CONTENT | ||
+ | xsltproc --stringparam part content " | ||
+ | |||
+ | ################################################################################## | ||
+ | # POSTPROCESSING | ||
+ | ################################################################################## | ||
+ | |||
+ | # TODO: implement post processing | ||
+ | # TODO: copy pictures into TEMP directory | ||
+ | # TODO: convert alternative nbsp character to ODF spaces | ||
+ | # $content=~s|([\xC2\x82]+)|'< | ||
+ | |||
+ | ################################################################################## | ||
+ | # ZIPPING | ||
+ | ################################################################################## | ||
+ | |||
+ | #doctype=$( perl -wne 'if (/ | ||
+ | rm -rf " | ||
+ | pushd " | ||
+ | zip -rq " | ||
+ | popd >/ | ||
+ | rm -rf " | ||
+ | </ | ||
+ | |||
+ | * الكثير من التنسيقات تتم عبر params | ||
+ | * اختيار الخطوط موجود في document-styles/ | ||
+ | * تنسيق خط وكان الشريط الجانبي موجود في overlay/ | ||
+ | |||
+ | |||
+ | |||
+ | ===== استخدام itext ===== | ||
+ | هذا مثال يوضح كيفية استخدام itext لإنتاج pdf من xml لكن هنا علينا عمل فية مشتقة من org.xml.sax.helpers.DefaultHandler ثم إعراب ملف xml | ||
+ | |||
+ | * http:// | ||
+ | * http:// | ||
+ | |||