Agregue un borde negro alrededor del archivo PDF con Ghostscript

Agregue un borde negro alrededor del archivo PDF con Ghostscript

Estoy usando Ghostscript para procesar algunos archivos PDF y me gustaría agregar un borde negro delgado alrededor de los archivos. ¿Es esto algo que se puede hacer con GhostScript o existen otras herramientas de línea de comandos (sin pérdidas) que pueden hacer esto?

Respuesta1

No estoy seguro si esto no genera suficientes pérdidas para usted, pero puede usarImagenMagia:

convert foo.pdf -bordercolor black -border 10 foo_with_a_10px_border.pdf

Para obtener una solución que seguramente no generará pérdidas, puede crear un documento pdf de una página con solo un borde en untransparentefondo y aplíquelo sobre cada página de su documento conpdftkstampcomando de :

pdftk foo.pdf stamp border.pdf output foo_with_my_home-made_border.pdf

Respuesta2

Normalmente, esto se puede hacer convirtiendo el pdf a PostScript, agregando al inicio un pequeño fragmento de código PostScript para anular la función de fin de página showpagey luego imprimiéndolo o convirtiéndolo a pdf.

Puede convertir desde y hacia pdf con pdf2psy ps2pdfque generalmente vienen empaquetados con ghostscript. Este código PostScript de ejemplo agrega un borde de tamaño A4:

%!PS
% A4 paper is  21.0 × 29.7 cm
/cm { 28.4 mul } bind def
/w 21.0 cm def
/h 29.7 cm def
/border 
{ 0.5 cm setlinewidth newpath
  0 0 moveto w 0 lineto w h lineto 0 h lineto closepath stroke
} bind def
/add-border { gsave initgraphics 0 setgray border grestore } def
/orig-showpage /showpage load def
/showpage { orig-showpage add-border } def
add-border

Pon esto en un archivo, por ejemplo addborder.ps, y luego podrás

pdf2ps a.pdf a.ps
cat addborder.ps a.ps >b.ps
ps2pdf b.ps b.pdf
gv b.pdf

Para otros tamaños de papel, edite la definición de /wy /hen centímetros. El ancho de línea del ejemplo es 0.5 cm(o la mitad ya que la línea está centrada en el borde del papel).

información relacionada