PDF::Writer, embedding non-PNGs

Hi,

the PDF::Writer documentation reads:

add_image(image, x, y, …)

Add an image from a loaded image (JPEG or PNG) resource …
^^^^ ^^^

The image I want to embed is in PostScript. In concrete, it is the
output of the GNU barcode tool.

Is there any smarter way to embed it than to convert it to a pixel image
without knowing the printers resolution?

Thanks in advance,

Bertram

-------- Original-Nachricht --------

Datum: Wed, 19 Dec 2007 18:11:33 +0900
Von: Bertram S. [email protected]
An: [email protected]
Betreff: PDF::Writer, embedding non-PNGs

The image I want to embed is in PostScript. In concrete, it is the

Bertram S.
Stuttgart, Deutschland/Germany
http://www.bertram-scharpf.de

Dear Bertram,

from PDF::Writer’s documentation,

(artima - Creating Printable Documents with Ruby and
Changelog in pdf-writer-1.1.7)

it seems that it doesn’t yet support any vector graphics or eps file
support.
An alternative, – non-Ruby – way would be to use latex to embed eps
files and create a pdf from there, modifying the template.tex
file with the entries for creating images, given in this tutorial:

http://www.pages.drexel.edu/~pyo22/students/latexRelated/latexTutorial.html

That webpage is now a bit dated, so for the installation of latex,
I’d rather recommend this:

http://scripts.sil.org/cms/scripts/page.php?site_id=nrsi&id=xetex

Use the command ‘xelatex’ from the xetex package on the source file
created. I think it will output a pdf straight away.

Best regards,

Axel

On 12/19/07, Bertram S. [email protected] wrote:

One further way failed as well: I found a Code39 barcode font on the web
as a TrueType font. Trying to embed it as described in the manual yields
the fatal message:

/usr/lib/ruby/gems/1.8/gems/pdf-writer-1.1.3/lib/pdf/writer.rb:878:in load_font': undefined local variable or method fbfile’ for #PDF::Writer:0xb788ad6c (NameError)

PDF::Writer 1.1.3 is not the most recent version. I believe that Greg
and Michael fixed some font bugs.

Your expectation (of being able to embed EPS or another PDF) is
unrealistic given the reality of the internal implementation of PDF.
If you can grab the drawing instructions from an EPS (not hard, and
can be programmed), you can insert them directly into an object stream
on a PDF. (I’ve actually done this, manually.)

-austin

Hi,

Am Mittwoch, 19. Dez 2007, 22:10:53 +0900 schrieb Austin Z.:

On 12/19/07, Bertram S. [email protected] wrote:

One further way failed as well: I found a Code39 barcode font on the web
as a TrueType font. Trying to embed it as described in the manual yields
the fatal message:

/usr/lib/ruby/gems/1.8/gems/pdf-writer-1.1.3/lib/pdf/writer.rb:878:in load_font': undefined local variable or method fbfile’ for #PDF::Writer:0xb788ad6c (NameError)

PDF::Writer 1.1.3 is not the most recent version. I believe that Greg
and Michael fixed some font bugs.

Sorry, both Gentoo and FreeBSD install 1.1.3 by default.

./local/gems/pdf-writer-1.1.7/lib/pdf/writer.rb:844:in load_font': undefined local variable or method fbfile’ for
#PDF::Writer:0xb77e2400 (NameError)

Bertram

Hi,

Am Mittwoch, 19. Dez 2007, 20:26:57 +0900 schrieb Axel E.:

The image I want to embed is in PostScript. In concrete, it is the
output of the GNU barcode tool.

Is there any smarter way to embed it than to convert it to a pixel image
without knowing the printers resolution?

it seems that it doesn’t yet support any vector graphics or eps file support.
An alternative, – non-Ruby – way would be to use latex to embed eps
files and create a pdf from there, modifying the template.tex
file with the entries for creating images, given in this tutorial:

This is very disappointing. I expected it were at least possible to
embed another PDF document on the page.

One further way failed as well: I found a Code39 barcode font on the web
as a TrueType font. Trying to embed it as described in the manual yields
the fatal message:

/usr/lib/ruby/gems/1.8/gems/pdf-writer-1.1.3/lib/pdf/writer.rb:878:in
load_font': undefined local variable or methodfbfile’ for
#PDF::Writer:0xb788ad6c (NameError)

This seems to be a severe bug as the variable `fbfile’ doesn’t appear
anywhere else in the whole /usr/lib/ruby tree.

It seems that TeX still remains the only real typesetting system.

Bertram