Copy link to clipboard
Copied
I am trying to print a framemaker document to a postscript format. We used to use version 7.1, and now are at version 13. Many of our framemaker files have an include statement which was supposed to reference postscript code produced by a different program that was inserted into the document. This is the following code in the framemaker file:
/showpage {} def
#include "s:/DIRECTORY/SUB_DIR/FILE.cps"
/CPSFILE (s:/DIRECTORY/SUB_DIR/FILE.cps) def CHECK_FILE
Our previous version of framemaker used to insert the actual code from the 'FILE.cps' into the printed document but now this no longer happens. I have opened up the old and new versions of the output postscript format documents in text windows and seen that this is the case. This leads to distilling errors when converting to a PDF because the #include statement seems to not be supported by that (even though #include command isn't even supposed to be in the (PS) document.
Copy link to clipboard
Copied
Is the postscript code that you indicate in a postscript text frame?
Note: The #include statement, is processed by FM and is not a postscript command. Also, the entire length of the incude statement MUST fit on a single line in th FM postscript text frame. If it wraps, it will not be processsed.
Also check that the double-quotes are proper double-quotes and not FM's "Smart Quotes" (curly quotes). You probably will need to turn off the Smart Quotes option in order to insert these.
Copy link to clipboard
Copied
thank you for the reply! I appreciate the help.
I am unsure what you mean by the postscript code being contained in a text frame, the 'parent' framemaker file does have a text frame in which the following lines of text are contained:
/showpage {} def
#include "s:/DIRECTORY/SUB_DIR/FILE.cps"
/CPSFILE (s:/DIRECTORY/SUB_DIR/FILE.cps) def CHECK_FILE
I don't have any idea if the 'FILE.cps' is in a postscript text frame, I would assume it is not.
Furthermore, those lines are all their own individual line, so it appears they are not on a single line (this is helpful to know!), and i will try to figure out how to turn off smart quotes.
Copy link to clipboard
Copied
If the content is in a regular text frame, then FM will only pass this through as plain text. Text frames have a property that enables a specific frame to be treated as postscript code. Ctrl-Click on the text frame holding your postscript and from the Menus select Graphics > Object Properties > Text Frame to see if the Text Frame has the Postscript Code option checked. If not enabe it.
Note: once a text frame is set to postscript code, you can not edit the content. You need to turn off the postscript code property in order to edit the contents. Then, you need to turn the option back on in order to use it as postscript.
Tip: you can create Object Styles that set only the postscript code on or off and then use those to apply to the text frame.
Copy link to clipboard
Copied
Update:
There was a problem with smart quotes with my original file. I tried to do a global replace of \xd2 and \xd3 with double quotes and that seemed to work out well initially, but then when i tried to print the postscript, it looks like framemaker just skipped over entirely the #include statement. the code/content does not show up in the output postscript file.
Copy link to clipboard
Copied
I figured out the issues. I guess that in version 7.1, there was different compatibility with special quotes, but also the command statements (i.e. #include...) I had to modify the external program that created the mif file (Microsoft Access) to be a literal double quote and then remove the leading space between the quote and the file path. It used to be
#include \xd2 s:/DIR/SUB_dir/File.cps\xd3
which was read as:
#include " s:/......."
So in short, used literal double quotes and remove the spaces that are unnecessary.