2 Replies Latest reply on Dec 16, 2009 7:12 PM by Steve Wright

    Printer selection



      Printer selection


      I'm a bit stumped on this because it's new to me. I recently bought a new printer thinking to replace my monochrome laser workhorse with a multifunction laser. However, due to a difference in paper loading, the new printer is not suitable for printing cheques, or any numbered form for that matter. Basically the cheques must be loaded in reverse order for my printing script to preserve sorting and when I'm printing fifty cheques, several from different tables (i.e. different "print jobs"), it's not worth it. So I've kept the top-loading older laser to print cheques/forms. Altering my scripts to choose the proper printer was a no-brainer but, of course, this only applies to my machine. I'm thinking I need to create a printing preference table with a cartesian join to the highest level of the solution, and have the user, if there is ever another but me, choose  particular printers for  particular types of tasks, then refer to these choices in the various printing scripts. I have no idea how Filemaker stores Print settings or how to automate the process. I'm aware of Get(PrinterName) which returns the name of the Default printer. I also understand printer drivers can print a job in reverse order. Neither of these tools is a solution for me at this point. Is there a way to list all connected printers? 


      I'm looking to reference two printing scenarios (and printers): cheques/forms and everything else and want to accomplish this without dialog.


      Thanks in advance.


      Oh yes . . . Mac OS X 10.6.2 FMPA 10 ver.3 



        • 1. Re: Printer selection

          Perhaps I'll expand a little on this and someone might have an idea. When I print a document such as a multi-page contract from FM, I use a Samsung printer that prints double-sided and is "drawer loaded". It saves on paper and stamps etc. When I print to any pre-existing (numbered) forms, such as cheques, I use a top-loading laser. Any given job requires the printing of cheques from different sources; hence different print jobs, and the jobs must either be printed in reverse order (internally) or the forms must be loaded in reverse. In other words, it's a pain. So, in my "Print Cheques" script I select the proper printer with the Print[Restore] step and it does all its sub-scripts. In another script, say "Print Contract", I use the same step to select another printer, specify double-sided etc. This works fine and FM "remembers" (well, not really . . . the instructions ARE in the scripts). If FM "remembers" then it follows the printing options must be able to be stored or at least referenced somehow. I can't see how or where. 


          I want to create a table that would associate a certain printer with a certain set of tasks and reference these stored values in the scripts. That way when my application is used in another environment with other printers on line the process can be automated once the preferences are set and all print jobs can be carried out without dialog. Not only is this convenient, but it prevents the user from being fast on the trigger and confirming a print dialog before changing printers.


          At this point it's simple to capture the Default Printer name and I could see a routine involving storing the Name in a field and manipulating scripts based on this value versus the printer name presented in the dialog, but even that's not possible since there doesn't seem to be a way to register available printers.


          I've also toyed with doing this (returning a list of available printers)with AppleScript . . . so far to no avail.




          FMPA 10, Mac OS X 10.6.2 

          • 2. Re: Printer selection
            Steve Wright

            I had similar issues back with V7, 8, 8.5 and 9

            Altough im on windows, im not sure if theres any difference to a mac


            The ONLY solution I found, was to use myfmbutler's printer switch.


            I capitalised only because I spent over 2 years trying to solve the problem  with each FM version natively and with a lot of different plugins (probably every plugin available)


            That plugin was the only way I could deploy to clients with various printers and settings.


            My solution now allows the user to setup their print options for portrait & landscape, I could also add a step to setup for a second, third or fourth printer if required, it then saves the settings (including colour preferences, draft mode etc) to the DB

            Within the scripts, I can then call the printers from the stored settings in the DB and print without the dialog.




            goto layout [ landscape-printer1]

              restore printer[ 1 ]

              Print without dialog

            goto layout [portrait-printer2]

              restore printer[2]

              print without dialog

            goto layout [portrait-printer1]

              restore printer[1]

              print without dialog.


            P.S this is the second time tonight I have mentioned their plugin, again im not affiliated with them just a happy customer.