用于打印PDF的Java实用程序

时间:2015-05-13 12:48:55

标签: java html pdf markdown

我正在制作一个实用程序,用于语法制作文档并进行打印。

我要道歉,我不擅长制定这个,可能会有一些混乱,请跟我一起过去:(

该项目主要用于创建用户友好的实用程序,用于在程序中创建文档并进行打印,也可作为学习体验。

它使用我将转换为MarkDown的对象,因为它易于使用,我将其转换为HTML,因为它将在Web表单中使用。

当我希望程序将我现在创建的HTML文件打印到PDF时,会出现问题。

我已经搜索了很长一段时间的解决方案,但还没有找到结果,我发现的所有内容都已过时,充满了错误或者无法完成我想要的操作。

我尝试过iText,因为这似乎是最受欢迎的选择,但如上所述,我发现的所有内容都已过时且不再有用,主要是因为他们所说的课程不再存在。

我想要的最终是其他库的独立性,这是我的最终目标,但是现在我想要一种方法将本地存储的HTML文件打印为PDF,它需要与CSS兼容。

如果有人能指出我学习如何将MarkDown转换成HTML并将HTML打印成PDF的方式,那么另外一件事我会非常高兴。

编辑1: Stephan C pointet这个问题太广泛而且难以回答,我会尽力解释:

我想要的主要是使用HTML文件和本地存储的CSS打印PDF文件。

可选解决方案我很想学习如何自己编写代码而不是实现库,例如markdown4j和iText。是的我知道这很重要,但如上所述,这对我来说是一次学习经历。

2 个答案:

答案 0 :(得分:0)

直接从HTML打印到pdf也比使用iText或其他库更糟糕 我刚刚制作了一些iText PDF,不使用低级pdf类,而是从中编译PDF格式 如果您需要填写PDF表格,可以使用以下iText。

  1. 将您的HTML表单设为PDF表单。 (acrobat或其他免费软件)
  2. 使用iText类AcroFields获取PDF表单字段(您可以通过名称获取它们,也可以使用AcroFields.getFields()返回字段映射;
  3. 使用AcroFields.setFields()或.setField()编译所需的信息;
  4. PdfReader类允许您打开现有PDF(模板)
  5. PdfStamper允许您将流写入另一个(结果)
    添加图像和其他二进制文件非常简单!
  6. 通过这种方式,您可以快速完成,布局也将快速而良好。 限制是您需要尽可能多的模板数量。 (如果你有一些字段,其中一些只有一个,你需要两次模板)。 对于静态数量的字段是一个很好的解决方案。 希望它有所帮助。

答案 1 :(得分:0)

看看Converting HTML files to PDF。它有与iText一起使用的示例代码以及其他建议。如果您在这里遇到方法建议的帖子细节问题。修改原始问题或提出新问题。