首页 > 解决方案 > 如何测试使用 PDFbox 生成的 PDF

问题描述

我编写了一个读取 pdf 模板的类并添加了一些行,例如:

List<PdfTextLine> textLines = pdfBankActPage.getTextLines();
    if (textLines != null) {
        for (PdfTextLine textLine : textLines) {
            contentStream.setFont(cyrillicFont, textLine.getFontSize());
            contentStream.beginText();
            contentStream.newLineAtOffset(textLine.getOffsetX(), textLine.getOffsetY());
                        contentStream.showText(textLine.getText());
            contentStream.endText();
        }
    }

我的 util 类存储单行信息:

public class PdfTextLine {

    private Integer offsetX;
    private Integer offsetY;
    private String text;
    private Integer fontSize;

如何测试 PDF 生成正确的常用方法是什么?

标签: javaautomated-testspdfbox

解决方案


由于您的问题缺乏细节,因此很难回答。有多种方法可以验证您的内容是否已添加:

  1. 从 PDF 中提取文本并检查您的文本是否在其中

    PDFTextStripper stripper = new PDFTextStripper();
    stripper.setStartPage(pageNumber);
    stripper.setEndPage(pageNumber);
    stripper.setAddMoreFormatting(false);
    String text = stripper.getText(this.document);
    
  2. 使用像pdfcompare(它本身使用 Pdfbox)这样的库来直观地比较 pdf...


推荐阅读