User Tools

Site Tools


kicad:good_pdf_output_from_kicad

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revisionBoth sides next revision
kicad:good_pdf_output_from_kicad [2013/05/20 16:44] mithatkicad:good_pdf_output_from_kicad [2013/06/18 22:01] mithat
Line 31: Line 31:
  
 I’ve not tried the script on PostScript files other than those produced by Eeschema, but I’ve got no reason to think it won’t work on other PostScript files as well. I’ve not tried the script on PostScript files other than those produced by Eeschema, but I’ve got no reason to think it won’t work on other PostScript files as well.
 +
 +===== SVG version =====
 +I am currently testing the following for working form SVG files rather than PS. It requires more testing before I'm comfortable "releasing" it.
 +
 +<file bash svg2pdf-d>
 +#!/bin/bash
 +
 +# DESTRUCTIVELY convert all svg files in working directory to pdf.
 +# Source file extension is case sensitive!
 +
 +# Requires inkscape, gxmessage.
 +# Mithat Konar 2013 <http://mithatkonar.com>
 +
 +OPTIONS=""
 +EXT=.svg
 +SCRIPTNAME=$(basename $0)
 +
 +# Make list of files to be processed.
 +FILES=$(ls -1 *${EXT}) || { gxmessage -title "$SCRIPTNAME" "No ${EXT} files to convert."; exit 1; }
 +
 +# Get confirmation from user to continue.
 +gxmessage -title "$SCRIPTNAME" \
 +  -buttons "GTK_STOCK_NO:1,GTK_STOCK_YES:0" \
 +  -default "GTK_STOCK_YES" \
 +"Desctructively convert the following to PDF?
 +
 +$FILES" || exit 1
 +
 +# Make a temp file to store batch commands.
 +CMDFILE=$(mktemp) || { gxmessage -title "$SCRIPTNAME" "Error: Could not create temp file." 1>&2; exit 1; }
 +
 +# Build up the list of commands in temp file.
 +for file in $FILES
 +do
 +    base=$(basename $file ${EXT})
 +    echo "${file} --export-pdf=${base}.pdf" >> $CMDFILE
 +done
 +
 +# Process commands in a batch.
 +DISPLAY= inkscape ${OPTIONS} --shell < $CMDFILE
 +rm -f $CMDFILE
 +echo
 +
 +# Delete old files.
 +# Since inkscape exits with 0 even with errors, we need to explicitly check
 +# for conversion before deleting originals.
 +rv=0
 +not_deleted=""
 +for file in $FILES
 +do
 +    base=$(basename $file ${EXT})
 +    if [[ -f ${base}.pdf ]]; then
 +        rm $file
 +    else
 +        not_deleted="$not_deleted
 +$file"
 +        rv=1
 +    fi
 +done
 +
 +if [[ "x$not_deleted" != "x" ]] ; then
 +    gxmessage -title "$SCRIPTNAME" \
 +      "The following files were not deleted:
 +$not_deleted"
 +fi
 +
 +exit $rv
 +
 +#-----------------------------------------------------------------------
 +# Below is an alternative to the approach used above that does not use a
 +# temp file. It isn't optimal because it restarts inkscape for each file.
 +# However the simplicity lends itself to porting (e.g., to windows BAT.).
 +
 +#~ for file in $FILES
 +#~ do
 +    #~ base=$(basename $file ${EXT})
 +    #~ inkscape --without-gui ${OPTIONS} ${file} --export-pdf=${base}.pdf
 +#~ done
 +#~ ## END ALT_1
 +</file>
 +
kicad/good_pdf_output_from_kicad.txt · Last modified: 2013/06/26 02:18 by mithat

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki