Exit
  • Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
  • 한국 커뮤니티
0

Best MATLAB and Excel graphics types to import into FrameMaker?

New Here ,
Sep 11, 2009 Sep 11, 2009

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?

4.5K
Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 12, 2009 Sep 12, 2009

Output to PDF from the application, then crop the PDF page(s) in Acrobat and save as EPS for import into FM.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 16, 2009 Sep 16, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 16, 2009 Sep 16, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 16, 2009 Sep 16, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Sep 17, 2009 Sep 17, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 17, 2009 Sep 17, 2009

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?

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guide ,
Sep 17, 2009 Sep 17, 2009

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

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
LEGEND ,
Sep 17, 2009 Sep 17, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Community Expert ,
Sep 17, 2009 Sep 17, 2009

BTW - SetPrint only affects FM, it doesn't change your Windows default printer for any other app except FM.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 17, 2009 Sep 17, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Sep 22, 2009 Sep 22, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 25, 2009 Sep 25, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Sep 25, 2009 Sep 25, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 26, 2009 Sep 26, 2009

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:

  1. open a figure window within the MATLAB script
  2. pause within the script
  3. go to the Print Preview window of the open figure and select the appropriate style sheet
  4. hit ENTER to remove the pause and then watch all of the graphs for that style sheet scroll though and have the *.eps files written as well
  5. I can then open another window for the next desired style sheet (aspect ratio) and repeat the process

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Guest
Sep 26, 2009 Sep 26, 2009

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Sep 26, 2009 Sep 26, 2009
LATEST

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.

Translate
Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines