PDF::Writer, embedding non-PNGs

Discussion in 'Ruby' started by Bertram Scharpf, Dec 19, 2007.

  1. 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


    --
    Bertram Scharpf
    Stuttgart, Deutschland/Germany
    http://www.bertram-scharpf.de
     
    Bertram Scharpf, Dec 19, 2007
    #1
    1. Advertising

  2. Bertram Scharpf

    Axel Etzold Guest

    -------- Original-Nachricht --------
    > Datum: Wed, 19 Dec 2007 18:11:33 +0900
    > Von: Bertram Scharpf <>
    > An:
    > Betreff: 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
    >
    >
    > --
    > Bertram Scharpf
    > Stuttgart, Deutschland/Germany
    > http://www.bertram-scharpf.de


    Dear Bertram,

    from PDF::Writer's documentation,

    (http://www.artima.com/rubycs/articles/pdf_writerP.html 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


    --
    Psssst! Schon vom neuen GMX MultiMessenger gehört?
    Der kann`s mit allen: http://www.gmx.net/de/go/multimessenger?did=10
     
    Axel Etzold, Dec 19, 2007
    #2
    1. Advertising

  3. Hi,

    Am Mittwoch, 19. Dez 2007, 20:26:57 +0900 schrieb Axel Etzold:
    > -------- Original-Nachricht --------
    > > Datum: Wed, 19 Dec 2007 18:11:33 +0900
    > > Von: Bertram Scharpf <>

    >
    > > 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?

    >
    > 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 method `fbfile' 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


    --
    Bertram Scharpf
    Stuttgart, Deutschland/Germany
    http://www.bertram-scharpf.de
     
    Bertram Scharpf, Dec 19, 2007
    #3
  4. On 12/19/07, Bertram Scharpf <> 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
     
    Austin Ziegler, Dec 19, 2007
    #4
  5. Hi,

    Am Mittwoch, 19. Dez 2007, 22:10:53 +0900 schrieb Austin Ziegler:
    > On 12/19/07, Bertram Scharpf <> 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


    --
    Bertram Scharpf
    Stuttgart, Deutschland/Germany
    http://www.bertram-scharpf.de
     
    Bertram Scharpf, Dec 21, 2007
    #5
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. vasudevram
    Replies:
    0
    Views:
    257
    vasudevram
    Jul 25, 2006
  2. rv dh

    Embedding PNGs in PDFs

    rv dh, Jul 6, 2007, in forum: Ruby
    Replies:
    2
    Views:
    142
    rv dh
    Jul 7, 2007
  3. Ricardo Pog
    Replies:
    1
    Views:
    492
    Austin Ziegler
    Mar 26, 2008
  4. Brandon Sislow

    PDF::Reader streamed into PDF::Writer

    Brandon Sislow, Mar 27, 2008, in forum: Ruby
    Replies:
    1
    Views:
    162
    Austin Ziegler
    Mar 28, 2008
  5. Sean Nakasone
    Replies:
    1
    Views:
    431
    Farrel Lifson
    Apr 14, 2008
Loading...

Share This Page