Portál AbcLinuxu, 4. listopadu 2025 04:52
Byl jsem postaven před problém jak odčeštit text přicházející do tiskové fronty CUPS. Nejrychlejší my přišlo napsat si wrapper pro textový filtr "/usr/lib/cups/filter/texttops".
Protože nemá smysl psát vše znovu, vlastně jen provedu své úpravy vstupu a předám vstup filtru "texttops" z balíku CUPS. Wrapper je univerzální, stačí nahradit akce mezi "######## Modify #########".
soubor "/usr/lib/cups/filter/texttoasciips"
#!/bin/bash
# Defaults
TTAP_DEBUG=false
[ -f /etc/cups/texttoasciips.conf ] && . /etc/cups/texttoasciips.conf
DBG_FILE=/tmp/texttoasciips.dbg
$TTAP_DEBUG && echo ======================================= >> ${DBG_FILE}
$TTAP_DEBUG && echo ======================================= >> ${DBG_FILE}
$TTAP_DEBUG && date >> ${DBG_FILE}
$TTAP_DEBUG && echo "Params($#): $@" >> ${DBG_FILE}
$TTAP_DEBUG && echo ======================================= >> ${DBG_FILE}
$TTAP_DEBUG && set >> ${DBG_FILE}
$TTAP_DEBUG && echo ======================================= >> ${DBG_FILE}
$TTAP_DEBUG && echo /usr/lib/cups/filter/texttops "${1}" \
"${2}" "${3}" "${4}" "${5}" "${6}" >> ${DBG_FILE}
$TTAP_DEBUG && echo ======================================= >> ${DBG_FILE}
######## Modify #########
# change the print job directly
iconv -f "${CHARSET}" -t "ASCII//TRANSLIT" "${6}"
######## Modify #########
if ( $TTAP_DEBUG ) ; then
/usr/lib/cups/filter/texttops "${1}" "${2}" "${3}" "${4}" \
"${5}" "${6}" 2>> ${DBG_FILE}
else
/usr/lib/cups/filter/texttops "${1}" "${2}" "${3}" "${4}" \
"${5}" "${6}"
fi
soubor "/etc/cups/texttoasciips.conf"
## comment for not to have debug output #TTAP_DEBUG=trueA toto je příslušná úprava souboru "/etc/cups/mime.convs"
--- mime.convs.orig 2008-04-28 10:14:26.000000000 +0200 +++ mime.convs 2008-04-28 10:15:05.000000000 +0200 @@ -44,8 +44,10 @@ application/x-csource application/postscript 33 texttops application/x-perl application/postscript 33 texttops application/x-shell application/postscript 33 texttops -text/plain application/postscript 33 texttops -text/html application/postscript 33 texttops +#text/plain application/postscript 33 texttops +#text/html application/postscript 33 texttops +text/plain application/postscript 33 texttoasciips +text/html application/postscript 33 texttoasciips image/gif application/vnd.cups-postscript 66 imagetops image/png application/vnd.cups-postscript 66 imagetops image/jpeg application/vnd.cups-postscript 66 imagetopsPozn.: Až po napsání jsem narazil na toto Using_Your_Own_Filters_to_Print_with_CUPS Pozn2.: přidáno //TRANSLIT do iconv a odstraněn komentář podle doporučení p. Watzkeho ...
Tiskni
Sdílej:
# iconv likes uppercharsiconv doesn't care
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.