in

Quark Forums

UPDATE: Printing to Adobe PDF Printer

Last post 06-20-2011 9:18 AM by Jan Sherlock. 27 replies.
Page 1 of 2 (28 items) 1 2 Next >
Sort Posts: Previous Next
  • 05-09-2007 12:09 AM

    UPDATE: Printing to Adobe PDF Printer

    I wanted to give an update to everyone about the problems with printing to the Adobe PDF Printer from QuarkXPress 7.01 and greater. Some of this information is a recap from other posts but I wanted to provide a background on why this is happening and what we are doing about it. If you want to know the technical reasons for what is happening, you can read the BACKGROUND section below. If not, you can skip ahead to the PROBLEM or SOLUTIONS sections.

    BACKGROUND
    When a job is submitted to CUPS, the system builds a chain based on a mime-type that’s submitted along with the job. Below is an example:
    Job Data > ExampleFilter 1 > ExampleFilter 2 > Backend

    Each filter has to declare what type of data (indicated by mime-type in a configuration file) it consumes and produces. Based on that, each filter on the chain will consume the last filter’s output and produce data for the next filter.

    An application that generates it's own PostScript, such as QuarkXPress, uses the mime-type "application-postscript". The resulting chain will appear something like this:
    Job Data>pstops>Backend

    The "pstops" filter is responsible for features that are not application specific, such as orientation, n-up, etc.. found in the system Page Setup and Print dialogs. It always produces data using "stdout", so that the backend will receive data using "stdin". Because QuarkXPress generates its own, complete postscript and already handles orientation, scaling, n-up, etc. on its own, we found it conflicts with "pstops", so we declare the data using a file path, application/vnd.cups-postscript, instead of using "stdout". This will build the most straightforward chain:
    Job Data>Backend

    PROBLEM
    When a backend only excepts data using "stdin", problems will occur. Many filters except data from both "stdin" and a filepath which is why some devices can experience problems while others work. In the case of the Adobe PDF Printer, it doesn't process the data directly but passes it to another process. The "pdf800" backend passes the file to /Application/Adobe Acrobat 8.0 Pro/…. and unfortunately, this process doesn’t have the privileges to access the file located in the system spool folder.

    SOLUTIONS
    1. One of the quickest fixes is to apply a permissions change to the CUPS spool folder. Copy and paste the following text in Terminal: sudo chmod 755 /private/var/spool/cups
    Then enter an administrator password. This will have to be repeated every time you restart your Mac. (Thanks to the many people on this forum who have passed this workaround to others!)

    2. Print to a PostScript file to run through Acrobat Distiller. I know a lot of you do not consider this an acceptable solution but the reality is this will give you the same results as printing to the Adobe PDF Printer with a couple of extra steps. You can even create a Watched Folder via Distiller that will process any PostScript files automatically. In Acrobat Distiller, go to Settings > Watched Folders and you can then add any number of folders, each with different settings applied.

    3. Printing to a PostScript file has some disadvantages when it's destined to create a PDF. PDFBoxes such as the Trim, Bleed and Crop are not injected in the final PDF. We only inject special code called PDFMarks into our Export as PDF path. We have discovered that in previous versions of QuarkXPress PostScript, Acrobat Distiller could key on certain variables to inject these boxes into the resulting PDF. Something has changed and this no longer is the case. They way we have always recommended creating PostScript for PDF is to set the preference to create a PostScript file using the Export as PDF dialog. You can set this option by going to QuarkXPress > Preferences, select the PDF tab and you will see an option under PDF Workflow called "Create PostScript File for Later Distilling". You can even point the resulting file at a Watch Folder. This is a much better method for creating PostScript in a Distiller workflow than the Print Dialog as the PostScript that is generated is device independent and more suitable for Distilling.

    4. Create a PDF using the QuarkXPress native Export to PDF. Again, I know many of you have specific settings and workflows that depend on using Acrobat Distiller and I do not want to discount that. I only want to point out that there have been many enhancements to how this works in QuarkXPress 7 and most of the settings available in Distiller can also be set in QuarkXPress. We have also introduced PDF Styles that allow you to save groups of settings so that you can quickly apply them, similar to how they are done in Distiller. Although we do not currently ship with any presets, we do have a number available for download that will eventually be included in the application. You can find them at http://www.quark.com/products/xpress/resourcecenter/pdf.html.

    WHAT WE ARE DOING
    We have contacted Adobe in hopes that a fix can be found similar to the ones provided by other device manufactures (if you are experiencing problems when printing to certain devices, please see the similar post in the Printing forum). We are also looking at other possible solutions that may require both an update to QuarkXPress and the system. As more details become available, I will post them here. We understand that this is a serious issue for users dependent on this workflow and are committed to finding a resolution.
  • 05-30-2007 5:12 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Thank you, Dave. Any progress to report yet?
  • 05-30-2007 10:56 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Hello dayborn,

    Unfortunately, I have nothing new to report yet other than we have been working with Adobe to find the best solution for all of our users.

    Stay tuned...
  • 06-13-2007 9:15 AM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Hi Dave,

    Dave Ebersole (Quark):
    we declare the data using a file path, application/vnd.cups-postscript, instead of using "stdout". This will build the most straightforward chain:
    Job Data>Backend


    Agreed regarding perventing the pstops filter from jumping in.

    But how do you do that and why using a file path and not by simply piping the postscript stream into the spool system and assigning the correct mime-type "application/vnd.cups-postscript" as metadata to achieve correct behaviour and preventing Adobe's backend from running into that permission problem?

    I would assume that you use something like

    lp -dpdf800 -o document-format=application/vnd.cups-postscript $ps-file

    whereas

    cat $ps-file | lp -dpdf800 -o document-format=application/vnd.cups-postscript -

    would do the trick (piping the print job into the backend in question on stdin and delegating permission settings of a temporary file to the backend as well).

    And BTW... why do you store the temporary file in /private/var/spool/cups directly and not where CUPS' $TempDir variable points to?

    Dave Ebersole (Quark):
    1. One of the quickest fixes is to apply a permissions change to the CUPS spool folder.


    Since there existed (and maybe even exist) many CUPS vulnerabilities this is not that good as it might sound ;-)

    Dave Ebersole (Quark):
    Copy and paste the following text in Terminal: sudo chmod 755 /private/var/spool/cups
    Then enter an administrator password. This will have to be repeated every time you restart your Mac.


    The permissions of CUPS' spool folder will be fixed each and every time the CUPS scheduler restarts (which will normally occur only on reboot -- agreed :-)

    But Quark could simply fix that if Quark thinks that is a real solution. Simply supply your users with a simple StartupItem that will be called by SystemStarter after Apples own PrintingServices StartupItem that changes the permissions of CUPS' spool directory.

    Dave Ebersole (Quark):
    2. Print to a PostScript file to run through Acrobat Distiller. I know a lot of you do not consider this an acceptable solution but the reality is this will give you the same results as printing to the Adobe PDF Printer with a couple of extra steps. You can even create a Watched Folder via Distiller that will process any PostScript files automatically. In Acrobat Distiller, go to Settings > Watched Folders and you can then add any number of folders, each with different settings applied.


    And there exist CUPS backends on the Mac that will automagically scan a folder for configured Distiller hotfolders and present all those hotfolders as simple to use printer queues one can directly print into... but as you already pointed out this variant of creating PostScript output is deprecated in favor of using the PDF export way to create PostScript files...

    Regards,

    Thomas
  • 08-02-2007 10:05 AM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Dave Ebersole (Quark):
    You can even create a Watched Folder via Distiller that will process any PostScript files automatically. In Acrobat Distiller, go to Settings > Watched Folders and you can then add any number of folders, each with different settings applied.


    I can't find Watched Folders in my version. Is it a Pro feature of Distiller? (I'm on a Standard version of Distiller 7).
    Thanks for your help.
    Jean-Marie Schwartz

    > Mac Pro Quad Core Intel 2.8 GHz, OS X.6.8, Quark XPress 9.2, Adobe CS5 <
  • 08-06-2007 6:09 AM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Hi Jean-Marie,

    yes, it is a Professional only feature.
  • 08-06-2007 7:25 AM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Oh! nice of you, Robert!
    So it must age back to v5 when I had that feaure on my machine. I'm sure there is a time when I had it activated here but it's true I didn't need it till now :(
    Never mind! And thanks again!
    Jean-Marie Schwartz

    > Mac Pro Quad Core Intel 2.8 GHz, OS X.6.8, Quark XPress 9.2, Adobe CS5 <
  • 09-11-2007 5:43 AM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Thomas Kaiser:
    Hi Dave,

    But how do you do that and why using a file path and not by simply piping the postscript stream into the spool system and assigning the correct mime-type "application/vnd.cups-postscript" as metadata to achieve correct behaviour and preventing Adobe's backend from running into that permission problem?

    I would assume that you use something like

    lp -dpdf800 -o document-format=application/vnd.cups-postscript $ps-file

    whereas

    cat $ps-file | lp -dpdf800 -o document-format=application/vnd.cups-postscript -

    would do the trick (piping the print job into the backend in question on stdin and delegating permission settings of a temporary file to the backend as well).


    in fact launching the following command and sending the job to its stdin should also be quite fine:

    [code:1:09d89510cd]
    lp -oraw -d$PRINTERNAME -
    [/code:1:09d89510cd]

    if your goal is just to stop the filters from running. That's how CUPS is designed. There are CUPS API level features to do this, so the example with the `lp' command is just by way of a general illustration.
  • 09-27-2007 3:15 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    I'm not sure if this has been addressed, but the problem I'm having is that Illustrator files (and sometimes Photoshop images) are not showing up in the Quark "export to PDF" file. The other part of this problem is that sometimes the box that the image is in (which usually has a .5 or 1 pt. rule and is generated in Quark) doesn't show up.

    On one particular PDF I ended up with an empty picture box (you could see the box) and an image with no picture box. I've rebuilt the file and finally had to take it back to Quark 6. Version 6.5 made the PDF with no problem.

    Other problem: If I print to PDF rather than exporting to PDF, seems like the file is being made but I don't think it does. When I search my machine for the PDF file that was supposedly generated, it just doesn't exist. ?????
  • 10-09-2007 1:50 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Dont know how to link to a post in another thread, but elsewhere user stuart levine has posted the solution to this problem.

    To quote:

    Here is a link to a QuarkXPress CUPS filter. CUPS Filter fixes a problem that prevented some users from creating a PDF by printing to the Adobe® PDF Printer from QuarkXPress on Mac® OS. Here is a direct link to the extension:

    http://www.quark.com/service/desktop/downloads/details.jsp?idx=714


    No-one from Quark thought it might be useful to post that information here?
  • 10-09-2007 7:10 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    You are correct... I should have posted something sooner :oops:

    I have added a new sticky message to this forum.
  • 10-28-2007 1:15 PM In reply to

    • shaun
    • Top 50 Contributor
    • Joined on 01-14-2006
    • Carlisle, UK
    • Posts 189

    UPDATE: Printing to Adobe PDF Printer

    Downloaded patch - and it works fine!
    PowerMac G5, 2.7DP, 8Gb RAM; OSX 10.4.11 and 10.5.8 (on separate drives). (Also a PowerMac 7300 that's still running Quark 4.1 on OS 8.6 ...)
  • 11-01-2007 11:16 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    File will not download!!!

    Does anyone have a mirror of this file anywhere?
  • 11-21-2007 6:25 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    I just installed CUPS & I'm still facing the problem when you pritnt to PDF it seems like the file is being made but when I search my machine for the PDF file that was supposedly generated, it just doesn't exist. I restarted the computer & I'm using Quark 7.3 on Tiger :?:
  • 02-20-2008 3:48 PM In reply to

    UPDATE: Printing to Adobe PDF Printer

    Could someone please update this thread in light of the new 8.12 update for Acrobat Pro. Is the CUPS workaround still needed or can Quark 7.3.1 now print to a Distiller PPD?

    (I don't seem able to, in MacOS 10.5.2)

    Simon
Page 1 of 2 (28 items) 1 2 Next >
Powered by Community Server (Commercial Edition), by Telligent Systems