Apache 将说明添加到附件-PDFBOX
我喜欢这样添加atachment:Apache 将说明添加到附件-PDFBOX,apache,adobe,pdfbox,Apache,Adobe,Pdfbox,我喜欢这样添加atachment: PDEmbeddedFilesNameTreeNode efTree = new PDEmbeddedFilesNameTreeNode(); //first create the file specification, which holds the embedded file PDComplexFileSpecification fs = new PDComplexFileSpecification(); fs.setFile( "Test.txt" )
PDEmbeddedFilesNameTreeNode efTree = new PDEmbeddedFilesNameTreeNode();
//first create the file specification, which holds the embedded file
PDComplexFileSpecification fs = new PDComplexFileSpecification();
fs.setFile( "Test.txt" );
InputStream is = ...;
PDEmbeddedFile ef = new PDEmbeddedFile(doc, is );
//set some of the attributes of the embedded file
ef.setSubtype( "test/plain" );
ef.setSize( data.length );
ef.setCreationDate( new GregorianCalendar() );
fs.setEmbeddedFile( ef );
//now add the entry to the embedded file tree and set in the document.
Map efMap = new HashMap();
efMap.put( "My first attachment", fs );
efTree.setNames( efMap );
//attachments are stored as part of the "names" dictionary in the document catalog
PDDocumentNameDictionary names = new PDDocumentNameDictionary( doc.getDocumentCatalog() );
names.setEmbeddedFiles( efTree );
doc.getDocumentCatalog().setNames( names );
一切正常!
但是如何添加描述呢?这是没有办法的
我已经看到了源代码:
获取PDStream。并设置名称,例如
solution. I just see with PDF Explorer the structure, where it was done, and then:
fs.getCOSDictionary().setString("Desc", "your describtion");
另一种可能性(PDFBox v2)是:
另一种可能性(PDFBox v2)是:
//first create the file specification, which holds the embedded file
PDComplexFileSpecification fs = new PDComplexFileSpecification();
fs.setFile( "Test.txt" );
fs.setFileDescription( "my description" );