Est-il possible de décompresser le fichier PDF à l'aide d'Adobe Acrobat ou Acrobat Distiller?
La plupart des fichiers PDF trouvé sur le Web ont compressé et illisible flux de données. Est-il possible de décompresser le contenu interne d'un fichier PDF à l'aide d'Acrobat ou Acrobat Distiller, ce qui nous permet de lire le code source par un éditeur de texte?
P. S. Cette question est inspiré par cette réponse qui explique comment il peut être fait avec GhostScript.
Que voulez-vous lire dans l'éditeur? Les opérateurs utilisés pour en tirer quelque chose? Ou aussi le texte?
Je veux lire les opérateurs utilisés pour tracer le vecteur des chiffres.
Alors que je ne vois pas comment faire à l'aide d'Acrobat (je n'ai que la version 9.5 à mes mains, tout de même), il est assez facile de le faire en une petite Java ou .Net programme à l'aide de la bibliothèque iText ou iTextSharp par la lecture d'un PDF et de le ré-enregistrement sans compression, cf. la méthode
Je veux lire les opérateurs utilisés pour tracer le vecteur des chiffres.
Alors que je ne vois pas comment faire à l'aide d'Acrobat (je n'ai que la version 9.5 à mes mains, tout de même), il est assez facile de le faire en une petite Java ou .Net programme à l'aide de la bibliothèque iText ou iTextSharp par la lecture d'un PDF et de le ré-enregistrement sans compression, cf. la méthode
decompressPdf
dans HelloWorldCompression.java / HelloWorldCompression.cs.OriginalL'auteur Alexey Popkov | 2013-09-15
Vous devez vous connecter pour publier un commentaire.
C'est facile avec qpdf et pdftk.
Avec Adobe Acrobat, vous pouvez obtenir à la structure interne après le profilage d'un PDF (contrôle en amont avec un certain profil (par exemple, de détecter les PDF des erreurs de syntaxe), puis Options->structure Interne du document PDF) - mais il n'y a aucun moyen d'obtenir quelque chose de modifiable avec un éditeur de texte.
Vous pouvez exporter par exemple XML. Mais modifiable: non.
L'exportation au format XML donne les mêmes résultats à l'exportation de TXT: seuls les éléments textuels sont inclus. J'ai besoin de lire les opérateurs utilisés pour tracer le vecteur des chiffres dans le fichier PDF.
J'ai mis à jour la réponse.
J'ai besoin de lire les opérateurs utilisés pour tracer le vecteur des chiffres dans le fichier PDF". Dans ce cas, regardez pour les non compressé
/Contents
objets et de leurs flux. À l'intérieur de l'étendue des ruisseaux, de la aussi regarder pour/name Do
des opérations, ceux-ci peuvent point à XRef les objets nommés/name
contenant les éléments du vecteur (ainsi que le point d'image raster objets).OriginalL'auteur Martin Schröder
Utilisation cpdf:
et puis les opérateurs graphique pour chaque page peut être lue dans un éditeur de texte. Vous aurez besoin d'une copie de la norme de référence.
Divulgation: je suis l'auteur de la cpdf.
OriginalL'auteur johnwhitington
qpdf
etpdftk
ont déjà été mentionnés. Pour afficher les commandes:mutool cependant n'a pas encore été mentionnés:
mutool
est un outil de ligne de commande qui est livré aux côtés de l'léger MuPDF PDF + visionneuse de documents.Je ne pense pas que vous pouvez obtenir la décompression de fichiers PDF des objets cours d'eau avec Acrobat ou Distiller (sauf si vous avez d'autres payant plugins disponibles).
qpdf
l'option--object-streams=disable
est un bon choix? Selon le documentation cette option signifie "ne pas écrire n'importe quel objet ruisseaux." Les ruisseaux être effacé comme un résultat?Oui, je suis sûr que c'est un bon choix pour le but. Je l'utilise tous les jours. SI objet ruisseaux sont activés, un grand nombre de petits objets seront incorporées à un autre objet du flux, ce qui rend plus complexe à analyser, même si non-compressé. Si vous ne me croyez pas, essayez-le vous-même. (Vous avez besoin d'un fichier d'entrée qui a au moins 1 objet de
/Type /ObjStm
). La désactivation de l'objet, les flux seront déballer tous ces objets en streaming et de les mettre correctement dans leurs propres objets indirects de nouveau, individuellement.Voulez-vous dire que pour
qpdf
apparemment choix évident--stream-data=uncompress
va modifier la structure du fichier et de le compliquer?Le
--qdf
mode déjà implicitement implique--stream-data=uncompress
. Et oui, à l'aide de QPDF ne modifier la structure du fichier d'une certaine manière. Mais il essaie de le faire dans un contenu de préservation de la sorte. L'auto-description de QPDF dit même si, en précisant qu'il soit un "CLI outil qui permet de structure, de contenu de la préservation de transformations sur des fichiers PDF". (Auquel cas, le contenu de changement dans les indésirables et de manière inattendue est une autre affaire. J'ai déposé quelques rapports de bogues/demandes d'amélioration sur ces: par exemple OCGs ("couches") flattend et mise à jour incrémentielle de l'histoire se perd.)À partir de la QPDF la documentation, il semble que la
--qdf
mode crée une version très spéciale de fichier PDF qui est modifiable ce n'est pas admise par les développeurs de PDF et pour cette raison, le--qdf
mode peut évidemment corrompu le fichier d'origine, d'une certaine façon. J'apprécie cet effort, mais je ne sais toujours pas si le--qdf
mode donne tous les avantages de la lisibilité du code PDF (dans ce fil, je ne suis pas intéressé dans possibilité de modification).OriginalL'auteur Kurt Pfeifle