Entfernen der Druckereinstellungen in Pages

Montag, 28 Juni 2010
0.0/5 Bewertung (0 Stimmen)
Beschreibung

Ich musste unbedingt [url=http://discussions.info.apple.com/thread.jspa?threadID=2314466]dieses Verhalten[/url] in Pages loswerden, wenn es daran ging das Format des Dokumentes zu erstellen um es auf verschiedenen Druckern auszugeben.
Ich schickte Fehlerbericht über Fehlerbericht an Apple, aber ohne das das Problem beseitigt wurde. Also habe ich mein Problem am Ende selbst beseitigt, in dem ich ein Shell-Script geschrieben habe, das die Druckereinstellungen, die mit jedem Pages-Dokument verbunden sind, entfernt hat.
Ich weiss leider nicht so viel über AppleScript, aber ein ambitionierter Programmierer kann hieraus sicherlich eine Drag-n-drop-Anwendung machen. (Siehe [url=http://www.nobleswan.com/applescript/AS_snippets.html]diesen Artikel[/url] und diese [url=http://developer.apple.com/mac/library/technotes/tn2002/tn2065.html]Tech Note[/url] als möglichen Startpunkt.)
Dies Script heisst rm_pages_sticky_printer.sh.

 #!/usr/bin/env bash
PROG_NAME=”$(basename ”${0}”)”
PROG_DIR=”$(cd ”$(dirname ”${0}”)” && pwd)”
XSLT=”$(cat <<?xml version=”1.0” encoding=”ISO-8859-1”?>
<xsl:stylesheet version=”1.0” xmlns:xsl=”http://www.w3.org/1999/XSL/Transform” xmlns:sl=”http://developer.apple.com/namespaces/sl”>
<xsl:template match=”sl:NSPrinter” />
<xsl:template match=”@* | node()”>
<xsl:copy>
<xsl:apply-templates select=”@* | node()” />
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
EOF
)”
for i in unzip xsltproc zip ; do
if ! which >/dev/null ”${i}” ; then
echo 1>&2 ”${PROG_NAME}: missing ${i}”
exit 1
fi
done
if [ ”${#}” -eq 0 ] ; then
echo ”usage: ${PROG_NAME} [PAGES_FILE...]”
exit
fi
basewd=”${PWD}”
for i in ${1+”${@}”} ; do
echo -n ”working on ${i}...”
idir=”$(cd ”$(dirname ”${i}”)” && pwd)”
ibase=”$(basename ”${i}”)”
if [ -d ”${i}” ] ; then
inplace=1
else
inplace=””
fi
if [ -z ”${inplace}” ] ; then
iwdir=”$(mktemp -d)”
unzip -d ”${iwdir}” -q ”${i}”
else
iwdir=”${i}”
gunzip > ”${iwdir}/index.xml” -c ”${iwdir}/index.xml.gz”
fi
echo ”${XSLT}”
| xsltproc >”${iwdir}/index.xml.tmp” - ”${iwdir}/index.xml”
if [ -z ”${inplace}” ] ; then
iorig=”$(TMPDIR= mktemp -p ”${iwdir}” index.xml.orig.XXXXXX)”
cp -Rfp ”${iwdir}/index.xml” ”${iorig}”
cat ”${iwdir}/index.xml.tmp” >”${iwdir}/index.xml”
else
iorig=”$(TMPDIR= mktemp -p ”${iwdir}” index.xml.gz.orig.XXXXXX)”
cp -Rfp ”${iwdir}/index.xml.gz” ”${iorig}”
gzip >”${iwdir}/index.xml.gz” -c ”${iwdir}/index.xml.tmp”
fi
rm -f ”${iwdir}/index.xml.tmp”
if [ -z ”${inplace}” ] ; then
inew=”${idir}/${ibase%.*}.noprinter.${ibase##*.}”
cd ”${iwdir}”
zip -9qry ”${inew}” .
cd ”${basewd}”
fi
echo done
done

[crarko: Tipp nicht getestet. Das Script ist [url=http://www.macosxhints.com/dlfiles/rm_pages_sticky_printer.sh.zip]hier[/url] gespiegelt]

Spezifikationen

Hits

2230

© by macjaner.ch | Powered by GoeGG-ArT.ch