¿Hay alguna forma confiable de determinar si se generó un PDF a partir de un archivo de PowerPoint?

StackOverflow https://stackoverflow.com/questions/1622411

  •  06-07-2019
  •  | 
  •  

Pregunta

Como dice el título. La razón por la que pregunto es que estamos convirtiendo archivos PDF a texto ASCII formateado (usando pdftotext) y solo queremos mostrar los que se vean razonablemente cuerdos.

Los archivos PPT tienden a tener texto sobre imágenes, texto diagonal y otras cosas que no se traducen a ASCII muy bien, por lo que nos gustaría filtrarlos si podemos.

¿Fue útil?

Solución

La aplicación de creación de un PDF aparece en sus metadatos XMP. Puede ver esto con bastante facilidad en Acrobat 9 (y creo que antes): vaya a File > Propiedades , haga clic en Metadatos adicionales ... , luego vaya a Avanzado y aparece debajo de XMP Core Properties y Propiedades de PDF :

xmp:CreatorTool: Microsoft PowerPoint
pdf:Creator: Microsoft PowerPoint

Supongo que desea encontrar esto programáticamente, por lo que necesitará encontrar una biblioteca para leer estos metadatos que funcionen con su idioma. Aquí es una lista de algunas herramientas XMP.

Otros consejos

Respuesta corta:

No, no lo creo.

Respuesta larga:

No, no lo creo, porque hay muchas formas de convertir un archivo de PowerPoint a pdf, por ejemplo, Adobe Acrobat y PDFCreator y muchos otros. Depende de los convertidores incrustar información específica en el archivo PDF, incluso si encuentra una manera de detectar el PDF fuente de PowerPoint de un convertidor, el mismo método puede no funcionar para otro.

Respuesta aún más larga:

No, no lo creo, debido a las razones descritas en la " respuesta larga " ;. Y no creo que detectar la fuente del PDF sea el mejor enfoque para el problema que está tratando de resolver. No solo PowerPoint produce texto e imágenes superpuestos. Creo que es mucho mejor detectar el diseño real del archivo PDF. Si hay una superposición de imagen y texto, entonces realiza un filtrado o preprocesamiento para atenderlo.

Su razonamiento es muy arbitrario: seguramente hay muchos archivos PPT sin las características que describe, y muchos archivos PDF con que se generaron a partir de otra fuente .

En teoría, un método mejor sería detectar cuándo estos "no deseados" se producen situaciones Sin embargo, aunque el formato PDF está parcialmente abierto (solo para leer, aparentemente, por lo que no es realmente un formato abierto), extraer datos complejos como ese sería increíblemente difícil.

Todos los PDF pueden tener este problema independientemente de su origen. La mayoría de las suites de publicación de escritorio son capaces de generar PDF y, a menudo, se venden con sus presentaciones en PDF más llamativas y de alta calidad ...

A " más sano " el método sería usar un analizador de PDF, ITextSharp o pdfNet ... etc., utilizando la biblioteca de su elección, encuentre todos los rectángulos de imagen y todos los rectángulos de texto, ORDENAR LOS RECTÁNGULOS, y luego ver si hay una superposición sustancial de texto y Rect de imagen: ignorar la superposición de imagen a imagen Si es así, rechace la página y / o el documento.

Eso no será perfecto, pero al menos capturará muchos archivos PDF que no son sanos, independientemente de la fuente. Otras heurísticas para agregar incluirían análisis de color. (es decir, ¿los colores en la región superpuesta son lo suficientemente diferentes como para permitir resultados `` sanos ''?)

Mucha suerte

Podría poner su nombre en la información del creador o productor, pero no tengo una copia para verificar esta teoría.

En general, no es una tarea fácil determinar mediante programación (de manera confiable) de dónde proviene un archivo o cómo se generó en función de su contenido. Después de todo, un archivo es solo una colección de bits.

A menos que tenga muchos recursos para gastar en la construcción de la heurística para determinar si un archivo se ve "razonablemente sano". de acuerdo con sus necesidades, consideraría esto una tarea para los seres humanos.

algún convertidor de ppt a pdf conserva al creador en los comentarios al comienzo del pdf.

Creo que los PDF generados a partir de la mayoría de las aplicaciones parecen ser los mismos. puede tener algunos metadatos que puede leer del archivo ...

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top