Pregunta

¿Existe alguna herramienta de línea de comandos para Linux que me permita anotar un archivo PS o PDF con texto o una fuente, color y tamaño determinados sin pérdida de calidad?Probé la conversión de ImageMagick y el PDF resultante es de bastante mala calidad.

Tengo una plantilla creada originalmente en Adobe Illustrator y me gustaría generar archivos PDF con nombres en ciertos lugares.Tengo una lista enorme de nombres, por lo que me gustaría hacer esto en un lote (no de forma interactiva).

Si alguien tiene alguna idea, agradecería escucharla.Gracias Carl

¿Fue útil?

Solución

Creo que es mejor crear formulario PDF y llenarlo con pdftk llena_form en lote:

$ pdftk form.pdf fill_form data.fdf output out.pdf flatten

Los datos de formulario deben estar en Formar formato de datos (Es solo un archivo XML con nombres de campo y valores especificados).
Nota la flatten dominio. Se requiere convertir el formulario lleno en documento simple.

Otra forma es crear un conjunto de documentos PDF "con nombres en ciertos lugares" y antecedentes transparentes, y sello de pdftk cada uno de ellos sobre la plantilla:

$ pdftk template.pdf stamp words.pdf output out.pdf

Otros consejos

Otra forma de lograr esto sería piratear el archivo postscript.Solía ​​ser que los archivos AI eran archivos postscript, y podrías modificarlos directamente;Ya no sé si eso es cierto.Entonces es posible que tengas que exportarlo.

Para simplificar, asumo que hay una sola página.Por lo tanto, al final habrá una única llamada a showpage (quizás a través de otro nombre).Cualquier comando de dibujo realizado antes de la página de presentación aparecerá en la página.

Es posible que necesite reinicializar el estado de los gráficos (initgraphics), ya que el resto del documento puede haberlo dejado todo divertido, esperando que showpage se limpie antes de que alguien se dé cuenta.

Para colocar texto, deberá configurar una nueva fuente (la anterior fue invalidada por initgraphics) y medir la ubicación en puntos (72 puntos/pulgada, 28,3465 puntos/cm).

/Palatino-Roman 17 selectfont %so much prettier than Times
x y moveto
(new text) show

Para realizar la fusión, puedes usar perl:emitir el comienzo del documento como un documento AQUÍ, construir algunas líneas de escritura de texto por programa, emitir el final del documento.He aquí un ejemplo de generando posdata con PERL

O puede tomar datos de la línea de comandos (con ghostscript) usando el -- opción ($gs -q -- program.ps arg1 arg2 ... argn).El programa puede acceder a estos argumentos a través de una matriz denominada /ARGUMENTS.

Entonces, digamos que tiene un bonito gráfico de un payaso aterrador sosteniendo un cartel en blanco de aproximadamente 1 pulgada de ancho, 3 pulgadas de alto, con la esquina superior izquierda a 4 pulgadas de la izquierda y 4 pulgadas de abajo.Puede insertar este código en el programa ps, justo antes showpage.

initgraphics
/Palatino-Roman 12 selectfont
4 72 mul 4 72 mul moveto
ARGUMENTS {
    gsave show grestore 0 -14 rmoveto
} forall

Ahora puedes hacerle decir cosas graciosas ($gs -- clown.ps "On a dark," "and stormy night...").

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top