11
votes

Obéissez à la boîte MediaBox / Cropbox dans PDF lorsque vous utilisez Ghostscript pour rendre un PDF à un PNG

J'utilise GhostScript pour convertir mes parcelles de figure unique rendues en PDF en PNG:

gswin32c -sDEVICE=png16m -r300x300 -sOutputFile=junk.png ^
         -dBATCH -dNOPAUSE Figure_001-a.pdf


1 commentaires

Merci! Pour autant que je sache, cela utilise une méthode ronde d'écriture d'un JPEG ou d'une numérisation similaire pour les marges, puis à nouveau avec des marges définies. Les informations de culture que je veux utiliser OT utilisent déjà dans le PDF lui-même (Heck, Acrobat Auto-détecte-la). Je ne peux pas m'empêcher de me demander si je pouvais faire une somethigne folle comme convertir le PDF en PS, puis extraire la boîte de sélection de là. :-)


3 Réponses :


0
votes

Avez-vous essayé d'utiliser pdfcrop à l'aide de pdftex (Livré avec TexLive, par exemple) ou (pas encore essayé) le script Python pdfcrop ?

J'ai un flux de travail similaire à l'aide du premier outil mentionné.


0 commentaires

7
votes

Il existe différentes options pour contrôler quelle "taille moyenne" Ghostscript rend une entrée donnée:

-DPDFFACE
-DuseRimbox
-Dusecropbox

avec PDFFITPAGE Ghostscript rendra à la taille du périphérique de page en cours (généralement la taille de la page par défaut). Avec UdetrIMBOX, il utilisera la trimbox (et il mettra en même temps défini la page de page sur cette valeur). Avec Usecropbox, il utilisera la culturebox (et il mettra en même temps défini la page de page sur cette valeur). Par défaut (ne donnez aucun paramètre), Ghostscript rendra à l'aide de la MediaBox.

Pour votre exemple, on dirait que l'ajout "- Dusecropbox" fera le travail que vous attendez.

Remarque, vous pouvez en outre contrôler la taille globale de votre sortie à l'aide de "- SPAPERSIZE" (sélectionnez parmi toutes les valeurs prédéfinies Ghostscript sait) ou (pour plus de flexibilité) Utilisez " -Ddevicewidthpoints = nnn -ddeviceheighpoints = nnn ".


0 commentaires

8
votes

J'avais exactement le même problème. Je l'ai corrigé en ajoutant -duseartbox interrupteur.

Exemple: xxx

REMARQUE: -DUSEARTBOX Switch est pris en charge car GhostScript version 9.07

-DUSEARTBOX Définit la taille de la page sur la boîte d'arte plutôt que la boîte à médias. La boîte d'art définit l'étendue du contenu significatif de la page (y compris l'espace blanc potentiel) comme prévu par le créateur de la page. La boîte d'art est susceptible d'être la plus petite boîte. Il peut être utile quand on veut recadrer la page autant que possible sans perdre le contenu.


0 commentaires