Inicio este tema como respuesta a una pregunta en privado que creo que puede beneficiar a más gente.
La duda es cómo hacer esquemas como los que publico en mi web:
Esquema eléctrico

1.- En primer lugar los esquemas los realizo con
KiCad, que es un capturador de esquemas de
código libre (open-source GNU GPL v2)
2.- Una vez dibujado el esquema, lo imprimo en formato
PDF con otra herramienta de código libre:
PDF Creator Esta es una impresora virtual que se instala en el sistema y permite imprimir desde cualquier programa (AutoCad, KiCad, Proteus, etc) al formato PDF.
El formato PDF tiene máxima resolución y ocupa poco espacio, además permite hacer "instantaneas" del proyecto en diferentes fases.
Otra ventaja del formato PDF es que cualquiera lo puede abrir aunque no tenga el software con el que fue creada la página.
El formato PDF es un formato abierto y sin licencias creado por Adobe. Actualmente es un estandar (ISO 32000-1).
3.- En tercer lugar convierto la página PDF en formato de imagen en mapa de puntos
PNG. El formato PNG también es un formato abierto y libre de licencias.
Para conseguir esto utilizo primero la herramienta
Xpdf to ppm con una resolución de 300 puntos por pulgada en blanco y negro y crea una imagen en formato PPM.
A continuación convierto el archivo PPM en formato PNG y ya está conseguido.
Para que la conversión sea más sencilla utilizo una pequeña macro en lenguage
Python versión 2.7:
# Convierte todos los archivos PDF encontrados en el directorio actual y
# subdirectorios en archivos de imagen PPM
#
import os
def main():
procesar('.')
raw_input('Pulsa enter para finalizar')
def procesar(directorio):
""" Encuentra todos los archivos PDF del directorio actual y siguientes """
print 'Procesando', directorio
filenames = os.listdir(directorio)
for filename in filenames:
if filename[-4:].lower() == '.pdf':
extract(directorio, filename)
for subdir in filenames:
if os.path.isdir(directorio + '/' + subdir):
procesar(directorio + '/' + subdir)
def extract(directorio, filename):
""" Convierte un archivo pdf en archivo de imagen PPM
Opciones:
-r number
Specifies the resolution, in DPI. The default is 150 DPI.
-mono Generate a monochrome PBM file (instead of a color PPM file).
-gray Generate a grayscale PGM file (instead of a color PPM file).
-t1lib yes | no
Enable or disable t1lib (a Type 1 font rasterizer). This
defaults to "yes". [config file: enableT1lib]
-freetype yes | no
Enable or disable FreeType (a TrueType / Type 1 font raster-
izer). This defaults to "yes". [config file: enableFreeType]
-aa yes | no
Enable or disable font anti-aliasing. This defaults to "yes".
[config file: antialias]
-aaVector yes | no
Enable or disable vector anti-aliasing. This defaults to "yes".
[config file: vectorAntialias]
"""
err = os.system('pdftoppm.exe -r 300 -gray %s/%s %s/%s' % (directorio, filename, directorio, filename[:-4]))
if err > 0:
print 'Error converting', directorio+'/'+filename
else:
print 'Conversion OK', directorio+'/'+filename
main()
Saludos.