相关疑难解决方法(0)

使用PDFBox复制pdf可以像iText一样小吗?

我正在阅读PDF并输出PDF,其中包含原始PDF的多个副本.我通过对PDFBoxiText做同样的事情进行测试.如果我单独复制每个页面,iText会创建一个小得多的输出.

问题:在PDFBox中是否有另一种方法可以实现更小的输出PDF.

对于一个示例输入文件,使用这两个工具为输出生成两个副本:

  • 原始PDF大小:30K
  • PDFBox(v 1.7.1)生成PDF:84K
  • iText(v 5.3.4)生成PDF:35K

PDFBox的Java代码(很遗憾对您造成错误处理).注意它如何反复读取输入并将其作为一个整体复制:

PDFMergerUtility merger = new PDFMergerUtility();
PDDocument workplace = null;
try {
    for (int cnt = 0; cnt < COPIES; ++cnt) {
        PDDocument document = null;
        InputStream stream = null;
        try {
            stream = new FileInputStream(new File(sourceFileName));
            document = PDDocument.load(stream);
            if (workplace == null) {
                workplace = document;
            } else {
                merger.appendDocument(workplace, document);
            }
        } finally {
            if (document != null && document != workplace) {
                document.close(); …
Run Code Online (Sandbox Code Playgroud)

java itext pdfbox

1
推荐指数
1
解决办法
6488
查看次数

标签 统计

itext ×1

java ×1

pdfbox ×1