java - 在 JAVA 中使用 pdfbox 从 ArrayList<String> 创建 pdf 文件

标签 java pdf pdfbox

我需要帮助从 ArrayList 字符串创建 PDF 文件。
我已经尝试解决这个问题很长时间了,但我没有成功,有人可以帮助我吗?

我不知道在这里还能写什么我认为标题说明了一切。那么有人遇到同样的问题或知道如何创建 PDF 文件吗?

parsedText 是我从另一个 PDF 文件中提取的整个文本。

代码:

    String[] splitText = parsedText.split("\\."); 
    newList = new ArrayList<String>(Arrays.asList(splitText));


    PDDocument doc = null;
    PDPage page = null;
    try{
        doc = new PDDocument();
        page = new PDPage();

        doc.addPage(page);
        PDFont font = PDType1Font.HELVETICA;
        PDPageContentStream content = new PDPageContentStream(doc,page);

        content.beginText();
        content.setFont(font, 12);
        content.moveTextPositionByAmount(100, 700);
        String text = "";
        for(int i=0; i<newList.size();i++)
        {
            if(sentence.isEmpty()) continue;
            content.drawString(newList.get(i) + "\n");

        }

        content.endText();
        content.close();
        doc.save("nameoffile.pdf");
        doc.close();
        System.out.print("Pages" + pdDoc.getNumberOfPages());

    }catch(Exception e){
        System.out.println(e);
    }

最佳答案

你需要:

for(int i=0; i<newList.size();i++)
{
    if(sentence.isEmpty()) continue;
    content.drawString(newList.get(i));
    content.moveTextPositionByAmount(0, LINE_HEIGHT);
}  

更新每一行的文本位置。可以把它想象成绘制到图形上下文。

如果您希望“”为空行 - 条目则将第一行放入循环中。

关于java - 在 JAVA 中使用 pdfbox 从 ArrayList<String> 创建 pdf 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17472716/

相关文章:

java - 一个领域出错的反射(reflection)

android - Android应用程序填写PDF表格

c# - 如何通过一个进程调用将多个文件发送到打印机

java - 搜索 PDF 文件中的文本

java - 可观察链死亡和 Intellij 滞后/卡住

java - 条件组合时的圈复杂度

java - 如何在selenium中通过browsermob-proxy处理Edge浏览器的SSL证书

vba - 将 Microsoft Access PDF 报告打印为自定义尺寸

java.lang.ClassCastException : org. apache.pdfbox.cos.COSArray

java - PDFBox 中的行编号