gpt4 book ai didi

java - iText - 导出 PDF - 不平衡的开始结束文本运算符

转载 作者:行者123 更新时间:2023-11-30 09:36:01 32 4
gpt4 key购买 nike

有两种使用 iText 以编程方式创建 PDF 文件的方法:

  1. 使用高级对象,如ParagraphChunk
  2. 使用低级功能。这是使用 PdfContentByte 类的穹顶。

第二种方式在每次插入新数据前后使用beginTextendText

第一个也需要做吗?它使用 beginTextendText 吗?

我使用的是第一种方式,但出现了不平衡的开始结束文本运算符异常。

怎么可能呢?

最佳答案

分析

如果我们研究 iText API:

PdfContentByte is an object containing the user positioned text and graphic contents of a page. It knows how to apply the proper font encoding.

Chunk is the smallest significant part of text that can be added to a document. Most elements can be divided in one or more Chunks. A chunk is a String with a certain Font. All other layout parameters should be defined in the object to which this chunk of text is added.

PdfContentByte 和 Chunk (Element) 是为不同的目的而制作的。它们没有任何共同点,也没有接口(interface),也没有父类(super class)(不包括 Object ofc)。

问答

Does the first why do it too ?

用begin开始文字的书写,用end结束文字的书写,并使当前字体无效。

does it uses beginText and endText ?

不,像 Chunk 和 Paragraph 这样的元素不使用 begin 和 end。它使用 StringBuffer 来保存它的文本值。

why am I getting 'unbalanced begin end text operators' exception?

如果你看PdfContentByte's beginText() and endText() sources ,您会看到,如果我们尝试在文本尚未完成时开始文本,或在文本尚未开始时尝试结束文本,我们将得到此异常。


确保在开始向其添加任何元素之前调用 document.open() 并在完成文档时调用 document.close()。

关于java - iText - 导出 PDF - 不平衡的开始结束文本运算符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10995061/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com