saber quitar propiedades online ocultar nombre modificar las internet fecha editar como cambiar autor archivo .net pdf

.net - quitar - modificar propiedades pdf



Modificar las propiedades del documento PDF (4)

¿Cómo puedo modificar las propiedades del documento PDF programáticamente usando el código .NET?

Compré varios libros electrónicos en formato PDF y, lamentablemente, los editores no han establecido las propiedades Título, Autor y Asunto. Puede ver esto en un documento accediendo al cuadro de diálogo Propiedades del archivo y seleccionando la pestaña PDF. Esto es un verdadero dolor al intentar usar el eBook PDF en un dispositivo eReader.

No quiero tener que comprar un producto PDF Writer completo para hacer esto, así que espero que alguien me indique una biblioteca gratuita simple que pueda usar para modificar las propiedades mediante programación.

Si no hay una biblioteca .NET disponible, agradecería cualquier otra técnica.


¿Has mirado iTextSharp? Es una API PDF para .Net. Puede hacer algunas cosas bastante útiles con el uso de PDF.

iTextSharp en Sourceforge



Gracias a ambos, Mindaugas y Knobloch. Como ambos apuntaron a iTextSharp, fui por esto y pude resolver mi problema usando iTextSharp y un código similar al que se muestra a continuación. Una cosa que noté fue que el archivo resultante era 115,143 bytes más pequeño, desde un archivo inicial de 3,639,172, por lo que parece que estoy perdiendo alguna información o esta biblioteca es más eficiente que el producto original utilizado para crear el documento.

El otro aspecto interesante es que, al leer sobre esta biblioteca, seguí viendo enlaces a iText en acción, que publica el mismo editor de los libros electrónicos con los que estoy teniendo problemas :-)

using System.Diagnostics; using iTextSharp.text.pdf; using System.IO; using System.Collections; PdfReader pdfReader = new PdfReader(filePath); using (FileStream fileStream = new FileStream(newFilePath, FileMode.Create, FileAccess.Write)) { string title = pdfReader.Info["Title"] as string; Trace.WriteLine("Existing title: " + title); PdfStamper pdfStamper = new PdfStamper(pdfReader, fileStream); // The info property returns a copy of the internal HashTable Hashtable newInfo = pdfReader.Info; newInfo["Title"] = "New title"; pdfStamper.MoreInfo = newInfo; pdfReader.Close(); pdfStamper.Close(); }