Existe-t-il un moyen fiable de déterminer si un fichier PDF a été généré à partir d'un fichier Powerpoint?

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

  •  06-07-2019
  •  | 
  •  

Question

Comme le titre l'indique. La raison que je pose est que nous convertissons les fichiers PDF en texte ASCII formaté (à l’aide de pdftotext) et que nous ne souhaitons afficher que ceux qui semblent raisonnablement sains.

Les fichiers PPT ont tendance à contenir du texte au-dessus des images, du texte en diagonale et d'autres éléments ne traduisant pas très bien le format ASCII. Nous aimerions donc les filtrer si nous le pouvons.

Était-ce utile?

La solution

L'application de création d'un fichier PDF est répertoriée dans ses métadonnées XMP. Vous pouvez le voir assez facilement dans Acrobat 9 (et je le crois plus tôt): accédez à Fichier>. Propriétés , cliquez sur Métadonnées supplémentaires ... , puis sélectionnez Avancé . Il figure également sous Propriétés XMP Core et . Propriétés PDF :

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

Je suppose que vous souhaitez trouver cette information par programme. Vous devrez donc trouver une bibliothèque pour lire ces métadonnées compatibles avec votre langue. Voici une liste de quelques outils XMP.

Autres conseils

Réponse courte:

Non, je ne le pense pas.

Réponse longue:

Non, je ne le pense pas, car il existe différentes manières de convertir un fichier PowerPoint en PDF, par exemple Adobe Acrobat et PDFCreator et bien d’autres. Il incombe aux convertisseurs d’incorporer des informations spécifiques dans le fichier PDF, même si vous trouvez un moyen de détecter un fichier PDF au format PowerPoint à partir d’un fichier converti, la même méthode risque de ne pas fonctionner pour un autre.

Réponse encore plus longue:

Non, je ne le pense pas, pour les raisons décrites dans la "réponse longue". Et je ne pense pas que détecter la source du fichier PDF soit la meilleure approche du problème que vous essayez de résoudre. PowerPoint ne produit pas que du texte et des images qui se chevauchent. Je pense qu'il est beaucoup mieux de détecter la disposition réelle du fichier PDF. S'il existe une superposition d'image et de texte, vous devez alors filtrer ou pré-traiter cette information.

Votre raisonnement est très arbitraire - il y a sûrement beaucoup de fichiers PPT sans les fonctionnalités que vous décrivez, et beaucoup de fichiers PDF avec , qui ont été générés à partir d'une autre source .

En théorie, une meilleure méthode consisterait simplement à détecter à quel moment ces messages "indésirables" des situations se produisent. Cependant, même si le format PDF est partiellement ouvert (uniquement pour la lecture, ce n'est donc pas vraiment un format ouvert), il serait extrêmement difficile d'extraire des données complexes comme celle-ci.

Tous les fichiers PDF peuvent avoir ce problème, quelle que soit leur source. La plupart des suites de publication assistée par ordinateur sont capables de produire des PDF et sont souvent vendues avec leurs présentations PDF de haute qualité et plus éclatantes ...

A " assainir " La méthode consisterait à utiliser un analyseur PDF, ITextSharp ou pdfNet ... etc. À l'aide de la bibliothèque de votre choix, recherchez tous les rectangles d'image et tous les rectangles de texte, TRIER LES RECTANGLES, puis vérifiez s'il existe un chevauchement important de texte et de texte. les effets de l'image - ignorer l'image à l'image se chevauchent. Si tel est le cas, rejetez la page et / ou le document.

Cela ne sera pas parfait, mais au moins, cela va attraper de nombreux PDF qui ne sont pas sains, quelle que soit leur source. D'autres heuristiques à ajouter incluraient l'analyse des couleurs. (c’est-à-dire que les couleurs de la région qui se chevauchent sont suffisamment différentes pour permettre des résultats "sains"?)

Bonne chance à vous

Il peut indiquer son nom dans les informations sur le créateur ou le producteur, mais je n’ai pas d’exemplaire pour vérifier cette théorie.

En général, il n’est pas facile de déterminer par programme (de manière fiable) la provenance d’un fichier ou la façon dont il a été généré en fonction de son contenu. Après tout, un fichier est juste une collection de bits.

Sauf si vous avez beaucoup de ressources à consacrer à la construction de l'heuristique afin de déterminer si un fichier a un aspect "raisonnablement sain d'esprit". selon vos besoins, je considérerais cela comme une tâche pour les êtres humains.

certains convertisseurs de ppt en pdf préservent le créateur dans les commentaires au début du pdf.

Je pense que les PDF générés à partir de la plupart des applications semblent être les mêmes. Il peut avoir des méta-données que vous pouvez lire dans le fichier ...

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top