【问题标题】:Problems with iText on AndroidAndroid 上 iText 的问题
【发布时间】:2013-12-19 13:34:07
【问题描述】:

我用 iText 为我的应用程序创建了一个 PDF 导出,但它存在很多奇怪的问题。例如:

我创建了这样的标题:

PdfContentByte p = new PdfContentByte(writer);
p.setFontAndSize(f_base, 26);
p.moveText(85, 775);
p.showText("PDP Export App");
writer.getDirectContent().add(p);

在我的一台测试设备(HTC X One、Android 4.0.3、HTC PDF Viewer)上,该行的显示方式应如此。当我在我的 Nexus 5(Android 4.4.2,Acrobat Reader)上尝试相同的操作时,除了显示一张图像外,什么都没有。当我在我的计算机(Mac、Acrobat Reader)上查看创建的 pdf 时,我看到了除了上述标题之外的所有内容。

这是一个错误,还是我做错了什么?

【问题讨论】:

  • 你应该用p.beginTextp.endText包围p.setFontAndSize ... p.showText。话虽如此……您正在创建 PDF;那么为什么不使用 iText 的更高级别的 API 呢?
  • 感谢 mkl,这解决了我的问题! :-) 我使用PdfContentByte,因为我只需要一行文本,我可以在我的文档上放置一个绝对值。对于文档的其余部分,我使用 tablecells。

标签: android pdf itext


【解决方案1】:

只是为了使原始问题的 cmets 中的解决方案成为实际答案...

你应该用p.beginTextp.endText包围文本操作:

p.beginText();                // <<<<<
p.setFontAndSize(f_base, 26);
p.moveText(85, 775);
p.showText("PDP Export App");
p.endText();                  // <<<<<

文本绘制相关操作只允许在文本对象中进行。您可以在PDF specification ISO 32000-1 的图 9 Graphics Objects 中找到在哪些上下文中允许哪些操作的概述:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-02-28
    • 2017-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    相关资源
    最近更新 更多