在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
转换文本文件为PDF给定一个 XML 模板文件,然后通过 Json 提供模板数据,整合后生成 PDF 文档。 这个项目可以用于需要动态生成 PDF 的场景,例如试卷、合同,等等。
XML 模板模板提供文档的固定内容,然后留出数据混入的标记,下面是一个简单的例子: <textpdf> <para>这是固定内容,<value id="json_key" />继续固定内容。</para></textpdf> 上面 TextPDF 的 XML 模板侧重于描述排版效果,例如'字体大小','粗体','斜体','段落缩进','段前段后空间',等等。以便能生成满意的 PDF 文档。模板中唯一动态的内容是 <!-- 模板根标签必须是 textpdf --><textpdf> <title>这是一段标题,它的默认格式和普通段落不一样,字体要大一些,并且居中显示</title> <title font-size="12">可以直接指定标题的字体大小来改变默认值</title> <section>这是一个比标题略小,左对齐的段落</section> <para>普通段落</para> <para font-family="heiti" font-size="11" font-style="bold,underline,italic" align="right" indent="22" space-before="12" space-after="20">这个段落定义了许多格式</para> <para>可以通过<span font-style="bold">span元素来嵌套文字风格,</span>这样可以在一个段落中出现多种风格。</para></textpdf> TextPDF 的模板只支持简单的排版格式(查看模板说明)。 转换 .doc 文件TextPDF 可以将 JSON 数据模板的数据源以 JSON 格式提供,格式非常简单,所有模板数据放在 { "data" : { "key1": "value1", "key2": "value2" }, "your" : "Some", "meta" : "Other"} JSON 数据源通常的情况是用户根据 XML 模板来录入那些需要填充的字段,并保存到数据库或文件中,后续再通过程序来合成 PDF。 HTML 编辑在实际应用中,用户需要从某个地方输入 XML 模板中的录入域( PDF 后期处理TextPDF 可以对存在的 PDF 进行处理,当前支持添加页码(页脚)、水印、图片及二维码。 用法命令行用法Usage: java -jar textpdf.jar [OPTION] <xmlfile|docfile> [jsonfile]Options: -o filename : Output file name -f [pdf|html] : Output file format -e encoding : Output file encoding -css path1,... : Add CSS link to output file -js path1,... : Add JS link to output file -v : Print version -h : Print this information
程序调用import com.lucky_byte.pdf.TextPDF;try { File xmlfile = new File("path/to/xmlfile"); File jsonfile = new File("path/to/jsonfile"); File pdffile = new File("path/to/pdffile"); TextPDF.gen(xmlfile, jsonfile, file.pdf);} catch (Exception ex) { ex.printStackTrace();}
除了能够生成 PDF 文档外,TextPDF 也可以生成 HTML 文件(用于编辑),以及将 .doc 文件转换为 XML 模板,使用方法请参考 API 说明。 |
请发表评论