xmlgraphics-fop-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Eric Douglas" <edoug...@blockhouse.com>
Subject RE: FOP 0.95 printing
Date Tue, 23 Mar 2010 12:20:21 GMT
Hi Pete,
I may just need to look at this again, and maybe I missed something the
first time.  I'll look for that example and see if that helps.  I was
trying to use java.awt.PrinterJob but it can't doing anything until I
transform, and the transform method was sending output to the printer,
so I couldn't quite figure out where to specify which printer to use.
I am embedding the code, not in Java but in a secondary language which
is able to include any Java code with slightly different syntax.  It is
also able to call Java code if there's anything which needs to be
written in Java that it can't emulate.
I did run into some difficulties trying to code the same output to 3
different formats (screen, PDF, printer) since they require different
renderers which are in different paths.  I see the SVGRenderer,
TIFFRenderer, AWTRenderer, PrintRenderer, PNGRenderer, and a
PNGRenderer_onthefly are subclasses of Java2DRenderer while PSRenderer
and PDFRenderer are not.
I would like to print using specific fonts from specific TTF files.  I
don't want to rely on the fonts being installed in the OS on the machine
running the application.  We did that in the past and ran into a problem
where someone's OS didn't have the font or someone had a different
version of the same font and they got different output.  I'm finding it
difficult in FOP to connect my custom font to the different renderers.
I added the font references in the fop.xconf file.  The AWTRenderer
seems to find it just fine with the FopFactory.setFontBaseURL method
while the PDFRenderer doesn't.  The PDFRenderer seems to find the font
correctly if I add a block of code using the TTFFontLoader to create an
EmbedFontInfo with the xml metrics generated by FOP, passing it into the
setFontList, but the font size comes out different than the AWTRenderer.
How do I upgrade to the Trunk?  I didn't see a compiled download.  I
believe I found a source download for it, but I'm not sure how to
compile it.


From: Peter Hancock [mailto:peter.hancock@gmail.com] 
Sent: Tuesday, March 23, 2010 6:04 AM
To: fop-users@xmlgraphics.apache.org
Subject: Re: FOP 0.95 printing

Hi Eric,

Do you run FOP standalone from the command line, or do you embed it in
your own app?  The reason I ask is because the example
embedding.ExampleFO2OldStylePrint.java in examples/embedding/java of the
FOP 0.95 source illustrates the minimal utility of
java.awt.print.PrinterJob for printing, and you may be able to adapt it
for your own needs.  I am not familiar with PrinterJob but I am guessing
it can be configured with your printer destination etc.

The FOP docs are a little minimal see:

They do explain that the available fonts are those configured on your
OS, and that PrintRenderer uses java2D to create the output.

I briefly took a look at the trunk code, and I do notice any functional
improvements made to the PrintRenderer.  However, upgrading your version
of FOP from 0.95 to trunk is recommenced if possible.

I hope some of this helps!


On Mon, Mar 22, 2010 at 7:52 PM, Eric Douglas <edouglas@blockhouse.com>

	How do I set up FOP 0.95 for printing a custom font? 
	I have a truetype font file and it works fine printing to PDF or
a preview window, but I can't get it to print directly to the printer.

	If I use the PrintRenderer I can't figure out a way to tell it
which printer to print to. 
	If I use the PSRenderer it finds the right printer but of course
it doesn't work (yet?) with truetype fonts. 
	I don't seem to have a valid Type 1 font file and I don't know
how I can create one or where I could download one (free).

View raw message