0

使用 PDFbox,我想PDXObjectForm/Catalog条目中添加。我有使用这个:

         PDStream formstream = new PDStream(template);
        PDXObjectForm form = new PDXObjectForm(formstream);
        PDResources res = new PDResources();
        form.setResources(res);
        appendRawCommands(formstream.createOutputStream(), "TESTING");
        // this creates AA. I need costum name Object
        PDDocumentCatalogAdditionalActions ac = new    PDDocumentCatalogAdditionalActions(res.getCOSDictionary());
        template.getDocumentCatalog().setActions(ac);

但是 /Catalog 条目中的表单名称现在是“AA”。例如,如何将该名称更改为“DSS”?

做这个的最好方式是什么?我不知道如何在 /Catalog 条目中添加 PDXObjectForm。DocumentCatalogAdditionalActions 不是最好的解决方案,我知道这是错误的,我想使用正确的方法。

我可以将 PDXObjectForm 用于文档安全存储吗?

4

1 回答 1

0

我的解决方案:

    PDDocumentCatalog cat = template.getDocumentCatalog();
    COSDictionary catDoc = cat.getCOSDictionary();

    COSDictionary dssDictionary = new COSDictionary();
    catDoc.setItem(COSName.getPDFName("DSS"), dssDictionary);
  1. DSS 必须是Dictionary,不是PDXObjectForm
  2. PDDocumentCatalogAdditionalActions没有必要。它会创建“AA”,因为AdditionalActions这不是我需要的。
于 2013-07-18T15:56:18.380 回答