Package: ghostscript Version: 9.04~dfsg-3 Severity: wishlist Tags: patch Dear Maintainer,
Along with the other ps2pdf* scripts, it would be very helpful to have a script to create PDF/A. Attached is an attempt at creating such a script. Attachments: 1. ps2pdfa script, modelled on the others. 2. A patch file that makes minor changes to ps2pdfwr to allow ps2pdfa to provide an additional input file. It needs this in order to provide a PDFA_def file. 3. Two PDFA_def files: one for each of DeviceGrey and DeviceCMYK, based on /usr/share/ghostscript/9.04/lib/PDFA_def.ps. The only difference is that the /ICCProfile is set to one of /usr/share/ghostscript/9.04/iccprofiles/default_(grey|cmyk).icc I have not done much sh programming, so there may be improvements that can be made. It works, except for an error message which seems to be related to file permissions, but I can't figure out what is wrong. It works if I comment out the line in the PDFA_def file: [{icc_PDFA} ICCProfile (r) file /PUT pdfmark But with that line gone, I don't think it creates a valid PDF/A document. Besides fixing this issue, there is one other todo. The title is supposed to be set in the PDFA_def file. I think doing this is beyond what I am comfortable doing in sh. Should I generate a tmpfile containing a customized PDFA_def with the title? I would appreciate your assistance with this or your referral to a better forum to present this feature request. Thank you, Liam Morland -- System Information: Debian Release: wheezy/sid APT prefers testing APT policy: (500, 'testing'), (500, 'stable') Architecture: i386 (i686) Kernel: Linux 3.1.0-1-686-pae (SMP w/1 CPU core) Locale: LANG=en_CA.UTF-8, LC_CTYPE=en_CA.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_CA.UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages ghostscript depends on: ii debconf [debconf-2.0] 1.5.41 ii debianutils 4.1 ii gsfonts 1:8.11+urwcyr1.0.7~pre44-4.2 ii libc6 2.13-24 ii libgs9 9.04~dfsg-3 ghostscript recommends no packages. Versions of packages ghostscript suggests: pn ghostscript-cups 9.04~dfsg-3 pn ghostscript-x 9.04~dfsg-3 pn hpijs <none> -- no debconf information
#!/bin/sh # $Id$ # Convert PostScript to PDF/A. ps2pdfwr="`dirname \"$0\"`/ps2pdfwr" if test ! -x "$ps2pdfwr"; then ps2pdfwr="ps2pdfwr" fi # Command line switch to select grey output if [ $# -gt 0 ] && [ `expr $1 : -grey` -eq 5 ]; then color="Grey" shift else color="CMYK" fi exec "$ps2pdfwr" -dPDFA -dNOOUTERSAVE -sProcessColorModel=Device$color -in=PDFA_def-$color.ps "$@" # @todo: Title should be set in the PDFA_def file.
diff -u a/ps2pdfwr b/ps2pdfwr --- a/ps2pdfwr 2012-01-28 22:43:23.000000000 -0500 +++ b/ps2pdfwr 2012-01-28 22:46:54.000000000 -0500 @@ -12,9 +12,11 @@ GS_EXECUTABLE="$gs" OPTIONS="-P- -dSAFER" +pre_infile="" while true do case "$1" in + -in=*) pre_infile="$pre_infile `expr substr "$1" 5 9999`";; -?*) OPTIONS="$OPTIONS $1" ;; *) break ;; esac @@ -42,4 +44,4 @@ # We have to include the options twice because -I only takes effect if it # appears before other options. -exec "$GS_EXECUTABLE" $OPTIONS -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr "-sOutputFile=$outfile" $OPTIONS -c .setpdfwrite -f "$infile" +exec "$GS_EXECUTABLE" $OPTIONS -q -P- -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sstdout=%stderr "-sOutputFile=$outfile" $OPTIONS -c .setpdfwrite -f "$pre_infile" "$infile"
PDFA_def-CMYK.ps
Description: PostScript document
PDFA_def-Grey.ps
Description: PostScript document