在 contentByte (5.4.1) 内有一个 columnText 对象
如果我做
go = ct.go(true)
yy = ct.getYLine()
我可以将最后写入的 y 位置的值放入变量 yy 但未写入列 Text 内的段落(显然)
如果我做
go = ct.go()
yy = ct.getYLine()
然后什么都不会返回给 yy。如何让 ct 被写入并获得 YLine 值???
在 contentByte (5.4.1) 内有一个 columnText 对象
如果我做
go = ct.go(true)
yy = ct.getYLine()
我可以将最后写入的 y 位置的值放入变量 yy 但未写入列 Text 内的段落(显然)
如果我做
go = ct.go()
yy = ct.getYLine()
然后什么都不会返回给 yy。如何让 ct 被写入并获得 YLine 值???
我无法重现此问题。这是我的代码:
import java.io.FileOutputStream;
import java.io.IOException;
import com.itextpdf.text.Document;
import com.itextpdf.text.DocumentException;
import com.itextpdf.text.PageSize;
import com.itextpdf.text.Paragraph;
import com.itextpdf.text.pdf.ColumnText;
import com.itextpdf.text.pdf.PdfWriter;
public class ColumnTest {
public static void main(String[] args) throws IOException, DocumentException {
Document document = new Document();
PdfWriter writer = PdfWriter.getInstance(document, new FileOutputStream("columntest.pdf"));
document.open();
ColumnText ct = new ColumnText(writer.getDirectContent());
ct.setSimpleColumn(PageSize.A4);
ct.addElement(new Paragraph("Hello World"));
ct.addElement(new Paragraph("Hello Sun"));
ct.addElement(new Paragraph("Hello Moon"));
ct.go();
System.out.println(ct.getYLine());
document.close();
}
}
这是写入 System.out 的内容:
788.0
ct.go();
这与我替换为时的结果相同ct.go(true);
(但是当我在模拟模式下工作时,由于显而易见的原因,我得到一个异常说“文档没有页面” )。