I';我无法使用Pdfbox添加新页面 publicstaticvoidmain(字符串[]args){ 试一试{ PDDocument文档=新PDDocument(); PDPage page=新的PDPage(PDRectangle.LETTER); 文件。添加页(第页); 添加文本(文件,第页); document.save(“C:/Java/cda.pdf”); document.close(); }捕获(IOE异常){ e、 printStackTrace(); } } 私有静态void addText(PDDocument文档,PDPage页){ 试一试{ PDPageContentStream contentStream=新的PDPageContentStream(文档,页面, PDPageContentStream.AppendMode.APPEND,true); 浮球sY=750; contentStream.beginText(); contentStream.setFont(PDType1Font.HELVETICA,12); contentStream.newlineatofset(60,sY); 对于(inti=1;i

I';我无法使用Pdfbox添加新页面 publicstaticvoidmain(字符串[]args){ 试一试{ PDDocument文档=新PDDocument(); PDPage page=新的PDPage(PDRectangle.LETTER); 文件。添加页(第页); 添加文本(文件,第页); document.save(“C:/Java/cda.pdf”); document.close(); }捕获(IOE异常){ e、 printStackTrace(); } } 私有静态void addText(PDDocument文档,PDPage页){ 试一试{ PDPageContentStream contentStream=新的PDPageContentStream(文档,页面, PDPageContentStream.AppendMode.APPEND,true); 浮球sY=750; contentStream.beginText(); contentStream.setFont(PDType1Font.HELVETICA,12); contentStream.newlineatofset(60,sY); 对于(inti=1;i,java,pdf-generation,pdfbox,Java,Pdf Generation,Pdfbox,您需要调用 public static void main(String[] args) { try { PDDocument document = new PDDocument(); PDPage page = new PDPage(PDRectangle.LETTER); document.addPage(page); addText(document, page); document.save("C:/

您需要调用

public static void main(String[] args) {
    try {
        PDDocument document = new PDDocument();
        PDPage page = new PDPage(PDRectangle.LETTER);
        document.addPage(page);
        addText(document, page);
        document.save("C:/Java/cda.pdf");
        document.close();
    } catch (IOException e) {
        e.printStackTrace();
    }

}

private static void addText(PDDocument document, PDPage page) {

    try {

        PDPageContentStream contentStream = new PDPageContentStream(document, page,
                PDPageContentStream.AppendMode.APPEND, true);
        float sY = 750;
        contentStream.beginText();
        contentStream.setFont(PDType1Font.HELVETICA, 12);
        contentStream.newLineAtOffset(60, sY);
        for (int i = 1; i <= 50; i++) {
            contentStream.showText("Lorem Ipsum is simply dummy text of the printing and typesetting industry.");
            contentStream.newLineAtOffset(0, -18);
            System.out.println(sY - 18);
            sY = sY - 18;
            if (sY - 18 < 18) {
                contentStream.endText();
                contentStream.close();
                contentStream = new PDPageContentStream(document, new PDPage(PDRectangle.LETTER),
                        PDPageContentStream.AppendMode.APPEND, true);
                contentStream.setFont(PDType1Font.HELVETICA, 12);
                contentStream.beginText();
                sY = 750;
            }
        }
        contentStream.endText();
        contentStream.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
第二次。问题中的代码在“孤立”PDPage对象中创建第二个页面内容流,但不会将其添加到文档中


我没有重写代码,因为您需要一些重构,因为addText()已经有一个PDPage对象。

如果答案有帮助,请按复选标记使其成为可接受的答案。如果答案没有帮助,请发表评论解释发生了什么/没有发生什么。
document.addPage(page);