我有点困惑。我想要制作并显示简单的可编辑和可打印的一些信息单模块并添加到我的 Java 桌面应用程序中。我是第一次做这样的事情,因此需要任何建议。
我在 Power Point 中绘制了一个示例信息单,仅作为示例。可以在下面看到;
来自某些 GUI 元素的发件人信息信息。还有服务名称、品牌、型号、序列号、发送日期和产品问题信息。
问题 1:我应该用 Java 创建此模板并填充它吗?如果是的话;哪些类对这个操作有帮助?
问题 2:如果否;应该使用哪种模型来创建模板(Excel、Word、PowerPoint)和 Apache POI 有助于在 JAVA 应用程序中读取、显示和编辑模板?
最佳答案
我使用itext
库来创建PDF文件,因为它具有非常详细的PDF创建渲染功能。当用户单击按钮时,我编写一个模板并每次填充数据库中的空白单元格。
我使用Icepdf
库向用户展示并获取创建的pdf文件的输出。
但是我认为 Icepdf 有一些字符编码问题。当 PDf 由 Icepdf
创建并调用时,土耳其字符之一看起来是方形的。土耳其字符可以在这里看到link 。所有字符均已成功渲染,但链接处的第八个字符未成功渲染。
当我转到创建的 pdf 文件(由 itext
库创建)的文件路径并使用 Adobe Acrobat Reader 手动打开它时,所有字符均正确显示。但是,如果以编程方式 Icepdf
打开文件并向用户显示,链接处的第八个字符看起来是正方形。
我需要更改 Icepdf 的字符编码,但我还不能。阅读了许多关于 Icepdf
的字符和 Font
编码的文章,但我还没有成功。如果我解决了这个字符问题,我的应用程序就可以部署了。
-- 角色问题已解决 --
我解决了通过IcePdf
在屏幕上显示PDF文件时的特殊字符问题
如果您没有使用IcePdf Pro
(支持所有亚洲语言等),您需要嵌入第三方Font
文件(该文件测试了您所有语言的特殊字符支持)当您使用 iText
创建 PDF 文件时。并且IcePdf
现在可以使用嵌入的Font
文件进行渲染并准确地显示文档。
有关如何使用 iText
将 Font
文件嵌入到 PDF 中,您应该查看我的上一个问题和答案;
关于Java读取并显示模板文档,填充GUI变量然后打印输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33954143/