重命名在/ Catalog中创建的PDXObjectForm

时间:2013-07-18 14:06:03

标签: pdf pdfbox

使用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用于Document Secure Store吗?

1 个答案:

答案 0 :(得分: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不是我需要的。