Copy link to clipboard
Copied
Does anyone have any proven methods to import press quality graphics from MATLAB v6.5 and from Microsoft Excel 2003 into FrameMaker v7.1, all running on Windows XP?
Copy link to clipboard
Copied
Output to PDF from the application, then crop the PDF page(s) in Acrobat and save as EPS for import into FM.
Copy link to clipboard
Copied
Thanks for the feedback Arnis. I did as you suggested but when I imported the *.eps file into FrameMaker, it just appeared as a gray box. I tried a variation of your plan that worked - after cropping, I just saved it as a *.pdf again and then it imported fine into FrameMaker and looked okay when I printed it.
I am using Adobe Acrobat Professional v6.0.0 to crop and save as an *.eps and perhaps there are some settings that I need to adjust. When I look at the "Preferences/Convert from PDF/Encapsulated PostScript" within Acrobat, there are lots of options and I just used the default settings. Perhaps this is a problem.
Do you know if there are any disadvantages to saving the graphics as *.pdf's and importing them as *.pdf vs. *.eps files? I can keep playing with the "Preferences/Convert from PDF/Encapsulated PostScript" settings if needed. The primary goal is to have high quality graphs - and there will be lots of graphs throughout the book. Thus, I want to get this part figured out now in the beginning.
Copy link to clipboard
Copied
In Acrobat, make certain that for the .eps options, that you've specified Acrobat to create a preview, e.g. Settings > General > Settings > Include Preview (this is for Acrobat 9 - don't have 6 anymore, so I can't remember the exact set of options, but it should be there).
FWIW, any PDF imported into FM gets converted internally (and on the fly) to EPS anyway. So if you don't have many files to import and don't mind FM converting the PDFs everytime they're accessed, then it's another option... ![]()
Also, note that the what you will see in FM when you do get the image is a lower-res preview image and not the final graphic. The full resolution graphics will only be visible in the output from FM.
Copy link to clipboard
Copied
Thanks for the added tips. I was able to find the "preview" option that you mentioned, and sure enough, when I imported the *.eps image into FrameMaker this time, it showed the actual image rather than the gray box. As you mentioned, it was a low reslution image. However, when I printed from FrameMaker, it was still low resolution. I am using an HP LaserJet 2200d - granted it is several years old but it should be 1200x1200 and the text is very crisp. Perhaps I need to change some additional settings.
Copy link to clipboard
Copied
If your LaserJet is not a PostScript printer, then printing a Frame document with referenced eps files will print the low resolution preview of the eps graphics. The eps format is basically PostScript. If the printer is NOT a PostScript printer, then you can print the Frame file to the Adobe PDF printer and print the PDF file. The PDF file will have the high resolution versions of the graphics. Basically, you are using the Adobe PDF printer as your PostScript printer, and then letting Acrobat convert it to whatever is needed by your printer.
Copy link to clipboard
Copied
Thanks for the input. I know that the laser printer can print PostScript; however, I will need to reconfirm that I have it set up that way with the appropriate drivers, etc.
Second, I simply imported the image files rather than referenced them. I know that importing the graphics makes the FrameMaker file larger (vs. referencing), but does that also down grade the final graphics output from FrameMaker?
Copy link to clipboard
Copied
I do not know what happens when you embed the eps files. In theory, Frame should store the PostScript code internally and pass it to the printer, but it may make a mistake in the process. I think it is always best to import by reference. But if you get the printer set up correctly and everything works, then it is your call.
Van
Copy link to clipboard
Copied
Importing the graphics by copy is an open invitation to headaches at some point down the road. FM stores the graphics internally in an uncompressed mode and as you suspect, this really bloats the file. FM has also been known to spontaneously trash an imported graphic, so one fine day you will suddenly see a gray box where your graphic was. Since it was imported by copy, there is no reference to what the original file name was, so you have to hunt for it and do the process all over again. If you update the graphic, then you also have to manually import it again to replace the current graphic, whereas if it was externally referenced, it would update automatically. In other words: DON"T import by copy!
When printing to the laser printer and you get low-res images for EPS graphics, it's exactly as Van said - it wasn't in postscript mode. You need to select the proper printer instance when outputting. Tip: create a PDF and then print the PDF, It will always be high-res, since Acrobat will act as a RIP (raster-image processor) when outputting to a device.
Another tip (actually it should be mandatory to avoid output issues) is to always have the system default printer, when using FM, be the Adobe PDF printer instance. There is a thrid-party utility from Sundorne called SetPrint ( http://www.sundorne.com/FrameMaker/Freeware/setPrint.htm ) that will always toggle your current system printer for the Adobe PDF when running FM and reset it when you finish. It's a great freebie.
Copy link to clipboard
Copied
BTW - SetPrint only affects FM, it doesn't change your Windows default printer for any other app except FM.
Copy link to clipboard
Copied
Thanks again for the advice. Yes, I will definitely use File/Import for placing graphics into Frame Maker rather than "copy and paste". I will develop a naming scheme to keep track of all of the hundreds of image files.
Copy link to clipboard
Copied
I have been using Frame with MATLAB graphics import for many years. What has worked the best and still works well, is to export as eps directly from the command line in MATLAB, e.g.,
>> print -tiff -depsc fig1.eps % the figure window having the current context will render into fig1.eps
The -tiff attaches a tiff preview image and the -depsc sets the print device (d) to eps color (c). File import from Frame works as well as drag-and-drop. The preview image is good enough to place with good accuracy additional text and graphics overlays on top of the MATLAB figure. Assuming that you create a PDF from your Frame output (version 8 & 9) directly from the file menu, or use distiller on a PS output, I do not see why the final doc should not print properly on any windows printer. I print to HP laser jets using PCL as well as Postscript.
If you want more complete control, including editing of the graphic, you can place the .eps file into Illustrator and edit individual elements of the graphic, e.g., line styles, text, etc. This provides the ultimate control. You export from illustrator as Illustrator PDF or eps and import into Frame.
Copy link to clipboard
Copied
xobiker,
Do you know how to control the aspect ratio of the output if using the command line to create the *.eps file? I know how to control the aspect ratio of the screen output and I need to preserve that in the *.eps file. However, when I tried the "print -deps -tiff -r300 figure1.eps" command and then imported the *.eps file into FrameMaker, it was a 4:3 ratio which is undesirable. None of my plots can be 4:3 but I have about 3 other ratios.
Copy link to clipboard
Copied
fm997,
I think you can do this from the command line, but I do it another way that
works well enough for me, and is 'style sheet based'. This approach has
worked since at least MATLAB 2007a, perhaps earlier. I am currently using
2009b, which was just released a few weeks ago.
Given you have a figure window open you give that figure window the focus
and then from the File menu choose Print Preview... When the print preview
opens you will see options on the right.
I change the figure placement to manual values, say a 1² top and left
margin, then I choose a width of say 6² and a height of 4². The width and
height settings are key to me. The absolute figure size (height and width)
not only sets the aspect ratio, but also sets the font size proportion to
the overall figure size. This is important if you later decide to change the
eps figure size via scaling in Framemaker. My goal is to set a figure size
that will just drop right into my Frame document. Before closing the Print
Preview I can create a stylesheet¹ that contains all of the settings from
the preview. Now when the print command line is given for that figure
window, the eps file is created according to the ¹stylesheet settings. If
you keep that figure window open and render more plot¹ results to it, it
will keep the style sheet settings. Only if you close the figure window and
then re-open it, will you have to go back to preview and re-load the style
sheet or interest. Note you can have several figure windows open, each set
to different settings via your style sheets. I do this if I need different
aspect ratios for different plot types.
You may also want to explore Export Setup from the File menu. This I have
not explored. I think with this you can obtain control over the font size.
Much of what I have said is also useful if you are creating documents in
LaTeX. In fact I have used Frame to assemble a set of figures from MATLAB
and other sources, and then apply cropping to the PDF output pages and input
the PDF figures into a PdfLaTeX document for conference and journal
publications.
I hope this helps. I included a screen shot but do not know how that will
show up in the forum. If it does you will note that I am running Frame on my
Mac under Vmware Fusion. Works quite well.
Copy link to clipboard
Copied
My normal method is to put each graph in its own figure in MATLAB: figure(1), figure(2), etc. It sounds like you are suggesting that I just use a single figure window for each size (aspect ratio) figure desired.
Based on a previous suggestion, I have been printing each figure to a PDF, cropping them, saving them and then inserting them into FrameMaker. The final images look great but the PDF creation, cropping and saving is time consuming because there are so many graphs. I have several style sheet settings that I use in the Print Preview window depending on the desired aspect ratio.
I will try your method with a twist:
I tend to do better recognizing necessary figure changes after looking at a hard copy of it inserted within the chapter. After placing a lot of graphs, I am wanting to change a lot of the graphs - things that need to be done within MATLAB, not in Illustrator or an equivalent. The method suggested to me earlier about creating a PDF, cropping and saving works great - it just takes a lot of time. Being able to make changes at the command line level and exporting the figures to an *.eps file would be a great time saver.
Do you know if the style sheet can be controlled from the command line? That would be a big time saver too.
Copy link to clipboard
Copied
Your ideas sound good. I agree that copping each figure is a slow process.
If I am working with PdfLaTeX cropping one-by-one seems to be the only way.
With Frame you can move much faster since you can avoid this. You can avoid
resizing once inside Frame too.
At your step 2 you may want to try another variation. If I am following you
correctly, about opening a collection of blank figure windows at the start
>> figure(1); figure(2); ... And so on
Then on each of these figures set the a certain know style sheet. Now when
you run your script as you create your graphics using plot() or whatever
MATLAB graphics function you choose, you select in your script which figure
window you want to render it to by inserting
>> figure(k) % where k maps to the stylesheet needed/desired
>> plot() % or other graphics function
>> print ..... % with a scripted file name etc
In my mind this would like dealing cards into particular aspect ratio piles.
This is just a thought so that you do not have use pause and slow down the
process.
Copy link to clipboard
Copied
Looks like I just need to brush up on controlling the axes handles. The aspect ratio, paper size, paper orientation, etc. can all be controlled from the command line.
Get ready! An upgraded Adobe Community experience is coming in January.
Learn more