Jam*_*erg 6 pdf coldfusion itext
我正在尝试使用ColdFusion和iText设置PDF的版权元数据.Adobe ColdFusion 9-11允许获取和设置标题,主题,关键字,创建者和作者字段,但似乎不允许访问"其他元数据"属性.(这是我的第一个问题.)
我找到了一个潜在的iTextSharp/C#解决方案,并尝试将其转换为CFML,但我无法确定如何成功访问System.IO.MemoryStream()w/ColdFusion.我得到一个"无法找到ColdFusion组件或接口MemoryStream.确保名称正确并且组件或接口存在." 错误和搜索互联网不提供任何结果.
注意:我正在使用iText,因为PDF文件是使用ABBYY FineReader创建的.我在过去遇到过很多问题,当使用isPDFFile()时,ColdFusion拒绝将非Acrobat生成的PDF识别为有效的PDF.
有任何想法吗?功能目前是否存在,而且没有记录在任何地方?谢谢.
(评论太长了......)
正如Ryan所说,使用DDX可能是可能的.该cfpdf文档列出Metadata作为支持的元素.所以你可能想先看一下这个选项.
我发现了一个潜在的iTextSharp/C#解决方案
也就是说,不需要使用外部C#库.CF已与旧版iText捆绑在一起(用java编写).所以请改用java类.iTextSharp是原始java库的一个端口,因此类和方法名称通常是相同的.
source = "c:/path/to/input.pdf";
target = "c:/path/to/output.pdf";
reader = createObject("java", "com.lowagie.text.pdf.PdfReader").init( source );
output = createObject("java", "java.io.FileOutputStream").init( target );
stamper = createObject("java", "com.lowagie.text.pdf.PdfStamper").init( reader, output );
copyrightName = "YOUR NAME HERE";
copyrightUrl = "http://www.example.com/";
baos = createObject("java", "java.io.ByteArrayOutputStream").init();
xmp = createObject("java", "com.lowagie.text.xml.xmp.XmpWriter").init(baos);
xmp.addRdfDescription("xmlns:dc=""http://purl.org/dc/elements/1.1/""", "<dc:rights><rdf:Alt><rdf:li xml:lang=""x-default"">"& copyrightName &"</rdf:li></rdf:Alt></dc:rights>");
xmp.addRdfDescription("xmlns:xmpRights=""http://ns.adobe.com/xap/1.0/rights/"""
, "<xmpRights:Marked>True</xmpRights:Marked><xmpRights:WebStatement>"& copyrightUrl &"</xmpRights:WebStatement>");
xmp.close();
stamper.setXmpMetadata(baos.toByteArray());
stamper.close();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
470 次 |
| 最近记录: |