java - 如何测试使用 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 生成正确的常用方法是什么?
解决方案
由于您的问题缺乏细节,因此很难回答。有多种方法可以验证您的内容是否已添加:
从 PDF 中提取文本并检查您的文本是否在其中
PDFTextStripper stripper = new PDFTextStripper(); stripper.setStartPage(pageNumber); stripper.setEndPage(pageNumber); stripper.setAddMoreFormatting(false); String text = stripper.getText(this.document);
使用像pdfcompare(它本身使用 Pdfbox)这样的库来直观地比较 pdf...
推荐阅读
- r - 使用 R 生成右删失 Copula 数据
- html - jspdf 无法正确捕获 div 内容以供 highcharts 下载为 pdf 格式
- r - Using a value of column to get an element of a separate list (in a mutate() call)
- php - 列出两个定义之间的所有天都返回相同的日期 PHP
- dspace - 如何在 DSpace 的摘要视图 (Mirage) 中显示自定义元数据?
- apache-spark - 如何在火花数据集中将一行转换为另一行
- ruby-on-rails - 为什么捆绑程序安装在我的 app/path 目录中?如何将其更改回默认值?
- openshift - OpenShift 在 TASK 处失败 [template_service_broker : 验证 TSB 是否正在运行]
- python-requests - 使用 Python 中的 requests 包使用 API 密钥调用 REST API
- python - 如何预填充 Django ModelForm 字段