Hoppa till innehåll

  • Logga in via Facebook Logga in via Twitter Logga in via Windows Live Log In with LinkedIn Log In with Google      Sign In   
  • Registrera dig nu!

- - - - -

Installera lokala skrivare på Mac OS X


Jag har gjort ett skript för att installera skrivare i Mac OS X. Skriptet kan även ändra skrivarens standard-inställning från ”Enkelsidigt Färg” till ”Dubbelsidigt Svart/Vitt och häftat”. Exemplet nedan är för Ricoh Aficio MP C2800, med Finisher SR790 och Large Capacity Tray. Jag tycker att det är enklast att ställa in hårdvaran genom att titta och söka i PPD-filen med en texteditor, men man kan även prova sig fram som beskrivs i skriptet.
De PPD-filer som skriptet använder hittar man i ” /Library/Printers/PPDs/Contents/Resources/” eller dess underkataloger, finns de inte där kan man ladda ner dem från skrivaretillverkaren och installera på Macen först. Det är dock inte nödvändigt att ha den filen där för att installera skrivare med detta script. Tillsammans med skriptfilen skall man ha en folder döpt till ”PPD” som inehåller PPD-filen.

På en Mac är PPD-filen skrivarens ”drivrutin”. Den installerade skrivarens PPD-fil får skrivarens namn och hittas i ” /etc/cups/ppd/”. Skriptets första lpadmin-kommando installerar skrivaren, de följande lpadmin-kommandona ändrar PPD-filen och skrivarens ”standard”-inställning.

Ett problem med senaste OS X version 10.8 är att det inte tillåter program som inte är signerade, för att köra skriptet kan man då temporärt sänka säkerheten. Ett tipps är också att undvika space och konstiga tecken i skrivarenamnet

(* Lennart Okla, 2012-09-19
Installs a preconfigured printer.
For Mac OS X 10.5. Also works on older OS if saved as an Application.
Make a "Software Update..." when the printer is installed to update the "drivers"
1. Rename this script to the "printer name"
2. Set the init-variables
3. Put the PPD-file in the "PPD"-folder next to this script
4. Run the script within the scripteditor. The printer settings are in the result-tab
5. Set the printer options in this script and run the script again. Look at the result-tab and at the printer settings.
6. When you are satisfied, save the script as an application.
*)
--___________________________________________________INIT
set ppd_file to "RICOH Aficio MP C2800" -- PPD-fileName ex:"RICOH Aficio MP C2800"
set IP_Address to "bibl-print100.corp.fqdn.se" -- IP-Address or DNS-name ex:"bibl-print100.corp.fqdn.se"
set prLocation_ to "Ekol_F130, Color Duplex Staple A3" -- Location, description ex:"Ekol_F130, Color Duplex Staple A3"
-- I description ovan anges allt som avviker: s/v A4, dvs: Color Duplex Staple A3 BookletFin HolePunch
--___________________________________________________INITend
-- get path to this script
tell application "Finder"
set scriptPath to parent of (path to me) as alias
set scriptFileExt to name of file (path to me)
end tell
set pathPPDFile_ to quoted form of (POSIX path of scriptPath & "ppd/" & ppd_file)
set scriptFile to remove_extension(scriptFileExt)
set prname_ to scriptFile
-- install the printer
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -L \"" & prLocation_ & "\" -P " & pathPPDFile_ & " -E -v " & "lpd://" & IP_Address & "/ -o printer-is-shared=false"
-- set printer options (modefies the PPD-file in /etc/cups/ppd/)
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -o OptionTray=LCT" --		  Tray 3 (LCT)
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -o Finisher=FinKING" --	 Finisher SR790	
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -o Duplex=DuplexNoTumble" --  Duplex
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -o ColorModel=Gray" --	BlackAndWhite
do shell script "/usr/sbin/lpadmin -p \"" & prname_ & "\" -o StapleLocation=UpperLeft" --  Staple
(*
Find the PPD-file in /Library/Printers/PPDs/Contents/Resources/  If it's not there, it must be downloaded and installed
Also look in all the langauage-subfolders, /Library/Printers/PPDs/Contents/Resources/en.lproj/, etc
User settings (modified ppd-file with the printer name) will be here: /etc/cups/ppd/ after the printer is installed.
[url="https://developer.apple.com/library/mac/#documentation/Printing/Conceptual/UsingPPDFiles/ppd_tasks/ppd_tasks.html"]https://developer.apple.com/library/mac/#documentation/Printing/Conceptual/UsingPPDFiles/ppd_tasks/ppd_tasks.html[/url]
[url="http://hints.macworld.com/article.php?story=20120313110411984"]http://hints.macworld.com/article.php?story=20120313110411984[/url]
Skrivarens nuvarande 'standard'-inställning i scripteditorns result-tab *)
do shell script "lpoptions -p \"" & prname_ & "\" -l"
on remove_extension(this_name)
if this_name contains "." then
  set this_name to (the reverse of every character of this_name) as string
  set x to the offset of "." in this_name
  set this_name to (text (x + 1) thru -1 of this_name)
  set this_name to (the reverse of every character of this_name) as string
end if
return this_name
end remove_extension




0 Comments