¿Cómo automatizar el proceso de llenado de diplomas?

Aquí hay una tarea: tengo un archivo de Excel con una tabla (por ejemplo, las columnas son Nombre, Número y Dirección) y una plantilla de dimloma. ¿Cómo puedo automatizar el llenado de mi plantilla y guardar todos los diplomas realizados en diferentes archivos? ¿Cuál es la mejor manera de hacer esto?

Actualmente trabajo en Corel Draw. Corel Draw tiene Print Merge, pero funciona con la impresión en papel, pero necesito archivos guardados en mi escritorio. ¿Es posible en Corel Draw?

¡Hola! Bienvenido a gd.se. Esta es una pregunta que realmente requiere soporte técnico para el producto, y sería mejor hacerla en un foro de usuarios de Corel. Consulte las preguntas frecuentes para obtener orientación: graphicdesign.stackexchange.com/help/dont-ask
Puede cambiar la pregunta para describir el problema (automatizar la inserción de detalles) y preguntar cuál es el mejor método para hacerlo, pero no mencione Corel Draw, ya que podría no ser el mejor. Hice algo similar usando una macro VBA en Microsoft Publisher, por ejemplo, por lo que la operación es definitivamente posible. Pero si te limitas a Corel Draw, entonces es una pregunta de soporte técnico. [Por supuesto, la comunidad puede decidir que incluso la pregunta modificada está fuera de tema, pero creo que tendría más posibilidades de sobrevivir].
¿Ha considerado simplemente imprimir en PDF?

Respuestas (3)

La solución más fácil probablemente sería instalar una impresora PDF (como PDFCreator: http://sourceforge.net/projects/pdfcreator/ ) y usar la función Print Merge para imprimir en un archivo PDF, luego usar una aplicación como jPDFTweak ( http://jpdftweak.sourceforge.net/ ) o pdftk ( http://www.pdflabs.com/tools/pdftk-the-pdf-toolkit/ ) para dividir el documento en páginas individuales si necesita archivos separados para cada diploma .

Sin embargo, en el pasado hice esto de una manera diferente:

Puede guardar la plantilla del diploma como SVG, que es solo un archivo de texto, y usar cadenas de marcadores de posición en lugar de nombres. Luego, usando una secuencia de comandos que lee la lista de nombres de un CSV (un formato de archivo de texto que puede guardar desde Excel), puede usar las funciones de búsqueda y reemplazo de texto para reemplazar las cadenas de marcadores de posición en el archivo SVG con nombres reales. Finalmente, puede usar, por ejemplo, Inkscape desde la línea de comandos para convertir todos los archivos a un formato diferente.

Tenga en cuenta que si no conoce ningún lenguaje de secuencias de comandos, la solución de impresión PDF será más fácil para usted; esta respuesta está destinada principalmente a otras personas que podrían estar usando software sin una función de combinación de impresión dedicada.

Aquí hay un script de Python de ejemplo para generar los archivos SVG con nombres reemplazados. Espera una plantilla de diploma SVG llamada "template.svg" que contiene objetos de texto con el texto FIRSTNAME y LASTNAME como marcadores de posición, y un archivo CSV llamado "recipients.csv" con los nombres de columna "FirstName" y "LastName" y campos separados por comas. .

#!/usr/bin/python
# coding: utf-8

import csv

template_f = open('template.svg', 'r')
template = template_f.read()
template_f.close()

recipients = csv.DictReader(open('recipients.csv', 'rb'), delimiter=',', quotechar='"')
t = template[:]
nfiles = 0

def write_file(content, num):
    output = open('diploma_%02d.svg' % num, 'w')
    output.write(content)
    output.close()

for recipient in recipients:
    firstname = recipient['FirstName'].strip()
    lastname = recipient['LastName'].strip()
    t = t.replace('FIRSTNAME', firstname).replace('LASTNAME', lastname)

    write_file(t, nfiles)
    t = template[:]
    nfiles += 1

Como menciona Krzysztof, la solución más simple/rápida es:

  1. use la función de combinación de impresión (si no tiene claro cómo hacerlo, deje un comentario y puedo explicarlo con más detalle)

  2. imprima el archivo resultante en un archivo PDF utilizando una impresora PDF o la función nativa Publicar en PDF de CorelDRAW

  3. use algo como PDFill PDF Tools para dividir el PDF en múltiples archivos PDF de una página o convertir todas las páginas en imágenes.

He hecho esto en el pasado, por ejemplo, para generar más de 200 tarjetas de identificación, y funciona maravillosamente.

Se puede hacer con corel macro/vba. Como en estos:

http://www.youtube.com/watch?v=s-wMp4xjv9A y http://www.youtube.com/watch?v=gRI-ef-xHlU

Los datos variables son de excel.

Macro reemplazará/reescribirá el texto con datos de una columna específica de Excel, consulte el número de registro.

Luego expórtela (tanto el diseño como los datos/texto de relleno) como mapa de bits de alta resolución, o publíquela como PDF.