Comment recadrer PDF marges en utilisant pdftk et /MediaBox
J'ai utilisé pdftk
de décompresser un fichier PDF, puis a ouvert en tant que fichier texte.
Je souhaite modifier le /MediaBox champ, qui est dans mon cas
/MediaBox [0 0 612 792]
Je voudrais réduire les marges, par exemple
/MediaBox [100 0 512 792]
Malheureusement, il ne fonctionne pas. Je peux changer le 0
dans un 2
ou un 9
mais je ne peux pas mettre 100
par exemple.
Aucune idée pourquoi?
- ce n'est pas une question de programmation, doit être déplacé vers un autre site du réseau
Vous devez vous connecter pour publier un commentaire.
utilisation sed pour remplacer tout occurrence
sed 's/MediaBox \[0 0 612 792*/MediaBox \[100 0 512 792]/g'<in.pdf >out.pdf
ou podofobox (à l'intérieur de podofo utils)
sans avoir besoin de décompresser pdf flux de première (au besoin avec pdftk)
podofobox in.pdf out.pdf media 10000 0 51200 79200
comme vous pouvez le voir, podofobox utilise MediaBox valeurs multiplié par 100, depuis son échelle est un sous-multiple, donc, vous avez besoin simplement de les ajouter deux zéros (00) pour les valeurs que vous pouvez lire dans la MediaBox champ
La chaîne 100 a deux numéros plus que de 0. Lorsque vous utilisez un éditeur de texte et d'ajouter des caractères, qui rend le fichier plus. C'est pourquoi le remplacement avec 9 ou 2, ou n'importe quel autre chiffre fonctionne très bien. Alors que d'un éditeur de texte peut théoriquement être utilisé pour modifier un fichier pdf, il n'est pas simple et il faut respecter la structure interne du fichier. Le xref table est une table près de la fin d'un document pdf qui indique au lecteur exactement où chaque objet est situé. Il doit être changé lorsque la longueur ou de l'emplacement de quelque chose est changé.
La raison de la méthode manuelle ci-dessus en utilisant
pdftk
ne fonctionne pas, c'est que vous êtes à l'ajout de deux octets dans le centre de la fichier. Cela rompt avec lexref
table. Si vous mettez à jour manuellement tous lesxref
s, cela fonctionnera, mais il est potentiellement très fastidieux. À l'aide desed
ou de tout autre outil d'édition de texte ne résoudra pas le problème.podofo
ne lexref
calcul pour vous.il y a de meilleures façons de modifier la marge d'un document PDF:
espère que vous avez trouvé une réponse à cette question puisque l'envoi 🙂