PDF, TIFF nyomtató CUPS és CUPS-PDF nélkül Samba-val


Felmerült egy olyan probléma, hogy egyszerre két virtuális nyomtatót is be kellett állítanom: az egyik PDF kimenettel, a másik TIFF kimenettel.

Beállítottam egy CUPS + CUPS-PDF kombinációt, de rögtön több problémába is ütköztem:
  • a CUPS-PDF csak PDF kimenetet tud, a TIFF nem választható
  • egyszerre csak egy virtuális nyomtató lehet
  • a CUPS-PDF nem tudja kezeli az ékezetes karaktereket (no comment…)
Maradt a barkács módszer. A CUPS-PDF kódját elnézve, nem akartam rontani a helyzeten, így egy saját script írásába kezdtem. Kihasználtam a Samba ‘print command’ beállítását, amivel tetszőleges script hívható.

A Samba bejegyzés:
[pdf_printer]
#itt fogja ideiglenesen tárolni a ps fájlt
path = /tmp
browseable = yes
printable = yes
guest ok = yes
printing = BSD
# %s-ben adja át a ps fájl nevét
print command = /script/konyvtara/pdf_printer.rb %s /ahova/akarod/a/kimenetet/pdf

A Ruby script:
#!/usr/bin/env ruby

require 'iconv'

input = ARGV[0]
outdir = ARGV[1]

#fájl tartalmának beolvasása
ps = File.open(input).read

#a doksi nevének kinyerés a ps-ből
title = /%%Title: (.+)\s+/.match(ps)[1]

#ha hexa kódolt, akkor visszaalakítás
if title[0] == 60 # '<' char
chars = title.gsub(/[<>]/, '').scan(/../)
title = chars.pack("H2" * chars.size)
end

#esetleg karakterkódolás váltás
title = Iconv.conv("UTF-8", "ISO-8859-2", title.strip).strip

outfile = "#{outdir}/#{title}.pdf"
options = ""
#átalakítás ps2pdf-fel
system("ps2pdf #{options} #{input} '#{outfile}' > /dev/null")
system("chmod 777 '#{outfile}'")
system("rm #{input}")

Hasonló mintára a tiff nyomtató:
outfile = "#{outdir}/#{title}.tiff"
options = "-q -dNOPAUSE -dBATCH -sDEVICE=tiffg3 "
system("gs #{options} -sOutputFile='#{outfile}' #{input} > /dev/null")

A scriptek letölthetőek: pdf, tiff

Információ és linkek

Kapcsolódj be: szólj hozzá, kövesd a hozzászólásokat, vagy linkelj a blogodból!


Más írások
Gyál-Vecsés tekerés
Mókusok

 

June 2009
M T W T F S S
« May   Aug »
1234567
891011121314
15161718192021
22232425262728
2930  

Recent Comments


Szólj hozzá

Szánj egy percet a hozzászólásra. Néhány HTML elem megengedett.
A trágár, csúnya szavak, valamint a nem releváns hozzászólások törlésre kerülnek!

Hozzászólások

Bár elsőre nem sikerült, de második alkalommal korrigáltuk a hibát. Letöltöttem a scripteket, jól jöttek, köszi!Ide írd a megjegyzésedet.