pdf coldfusion itext

Cómo establecer los metadatos de copyright de PDF con ColdFusion(& iText)



(2)

(Demasiado tiempo para comentarios ...)

Como Ryan mencionó, podría ser posible usar DDX. La documentación de cfpdf enumera los Metadata como un elemento compatible. Así que es posible que desee analizar esa opción primero.

Encontré una solución potencial iTextSharp / C #

Dicho esto, no es necesario usar una biblioteca externa de C #. CF ya viene incluido con una versión anterior de iText (escrita en java). Entonces usa las clases java. iTextSharp es un puerto de la biblioteca original de Java, por lo que los nombres de clases y métodos generalmente serán los mismos.

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();

Estoy intentando establecer los metadatos de copyright de un PDF usando ColdFusion e iText. Adobe ColdFusion 9-11 permite obtener y configurar los campos Título, Asunto, Palabras clave, Creador y Autor, pero no parece permitir el acceso a las propiedades de "Metadatos adicionales". (Esta es mi primera pregunta SO).

Encontré una solución potencial iTextSharp / C # y traté de convertirla a CFML, pero no he podido determinar cómo acceder exitosamente a System.IO.MemoryStream () con ColdFusion. Aparece "No se pudo encontrar el componente ColdFusion o la interfaz MemoryStream. Asegúrese de que el nombre sea correcto y de que exista el componente o la interfaz". error y buscar en Internet no ofrece ningún resultado.

https://stackoverflow.com/a/6942531/693068

NOTA: Estoy usando iText porque los archivos PDF se crean usando ABBYY FineReader. Me he encontrado con numerosos problemas en el pasado donde ColdFusion se niega a identificar archivos PDF no generados por Acrobat como PDF válidos cuando se utiliza isPDFFile ().

¿Algunas ideas? ¿La funcionalidad existe actualmente y no está documentada en ninguna parte? Gracias.