【问题标题】:PDFBOX 1.8.9 Overlay two PDF documents: Layout pages with COSArray currently not supportedPDFBOX 1.8.9 覆盖两个 PDF 文档:当前不支持使用 COSArray 的布局页面
【发布时间】:2015-09-19 14:24:12
【问题描述】:

我想使用 Apache PDFBOX (1.8.9) 库在现有 PDF 文档上打印白色/不可见文本,因此我创建了一个新文档,在 Color.WHITE 中添加文本并使用“叠加”方法进行合并两个文件在一起。 通过这样做,我遇到了以下问题:

java.lang.UnsupportedOperationException: Layout pages with COSArray currently not supported.
at org.apache.pdfbox.Overlay.collectLayoutPages(Overlay.java:269)
at org.apache.pdfbox.Overlay.overlay(Overlay.java:224)
at com.db.jocr.Main.overlay(Main.java:194)
at com.db.jocr.Main.main(Main.java:91)

代码如下所示:

realDoc = PDDocument.load(pathInputDoc);
String pathWatermarkDoc = createWhiteOnWhiteDoc(text, pageCount, color);
watermarkDoc = PDDocument.load(pathWatermarkDoc);
Overlay overlay = new Overlay();
overlay.overlay(realDoc,watermarkDoc);

显然“导致”错误消息的代码也没有提示我如何解决这个问题:

        COSBase contents = page.getCOSDictionary().getDictionaryObject( COSName.CONTENTS );
        if( contents instanceof COSStream )
        {
            ...
        }
        else if( contents instanceof COSArray )
        {
            throw new UnsupportedOperationException("Layout pages with COSArray currently not supported.");
            // layoutPages.add(new LayoutPage(contents, res));
        }

谁能给我解释一下 COSStream 和 COSArray 的区别是什么以及为什么不支持 COSArray-pages?

感谢任何为我指明正确方向的提示,

谢谢,丹尼尔

P.S.:我正在做的项目是:https://github.com/dbrenk/JOCR

编辑:好的,我出了点问题: OverlayPDF 类似乎仍在 PDFBOX 中

【问题讨论】:

    标签: java pdf overlay pdfbox


    【解决方案1】:

    似乎我找到了一种可行的解决方法: 而不是使用 Overlay.class,而是使用 OverlayPDF.class,它为原始 PDF 添加了一些布局,因此您也可以覆盖“基于 tif”的 PDF 文件。 OverlayPDF.class 的接口看起来很奇怪(没有方法,只有 main()),但它适用于我所有的测试 PDF 文件,代码如下:

    String[] args = {pathInputDoc, pathWatermarkDoc, pathOutputDoc};
    OverlayPDF.main(args);
    

    我仍然不确定 OverlayPDF.class 中发生了什么——所以如果有人能解释一下——那就太好了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-03-28
      • 2021-10-28
      • 2018-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      • 2016-11-06
      相关资源
      最近更新 更多