Beefy Boxes and Bandwidth Generously Provided by pair Networks
Your skill will accomplish
what the force of many cannot
 
PerlMonks  

Comment on

( #3333=superdoc: print w/ replies, xml ) Need Help??

the problem

    but the current Word doc (the catalogue) has tables, graphics and was 'built' with Word templates, so I have no idea how ell it would all convert.

the site that got me interested in pdf was Stas Beckmans site, www.stason.org. He gave a talk to the melbourne pm last year. Through the course of his talk on mod_perl 2 he showed the notes from his site in html with pdf downloads of the site.

So I tried to re-create this html->ps->pdf so that I too could have a printable version of a project I'm working on called Ratpile (make a directory that has *stuff* stored in it searchable by stuffing information about it into a relational database - data mining some may call it.) using perl+DBI+TT2. The template I created is a *bare bones* html page sans images. This is the technique Stas is using with his docset.

the point I guess I'm trying to make is I've used text only and not images. I've done a bit of research and this is what I've come up with...

  • graphics are supported in postscript (3?)
  • others better (ybiC) than I, have hacked together html->PS->PDF code and appears to handle images via html2ps but not html tables (Create PostScript and PDF versions of all HTML files in given directory )
  • one approach could be to use Matt Sergeants, PDFLib (load_image method) a oo wrapper around pdflib by www.pdflib.com. but I seem to remember has restrictions for use under OSI (has to be opensource, private use or researcher).
  • or use Alfred Reibenschuhs - Text::PDF::API where I found via an old page PDF-API2-0 which has some image (jpg,png,handleing capabilities
  • logreport has an interesting set of observations about html->PDF generation. Namely problems with html formatting and tables
building html->PDF with images and troublesome html tables

now given what we have found above I would suggest the following (unless anyone has a better idea) of using:

  • extract word document to html
  • extract table data (word document via OLE) or (via html via Html-TableExtract - like latter better.)
  • remove html tables in html documents
  • reinsert data into a simple table using <pre> tags for layout and html tags for bolding, emphasis. Or find some other method by experimentation in html for representing tables (text)
  • PDF-API2 as the PDF renderer. This can all be done in code.

the real problem maybe rendering the tables generated from word. complicated layout in word (re-rendered to html) will have to be modified to the postscript syntax then rendered to PDF. The problem is defined by converting the html tables to pdf.

it is not rocket science to create a bit of code to extract the data from the table, re-create a table using PDF-API (and its child modules).

update: Perl Graphics Programming has 3 chapters devoted to PDF and perl, 1 specifically on PDF-API2.

but is there a shorcut?

of course you could forget all the above and take your chances with Michael Frankl's HTML-HTMLDOC and convert you html files directly to PDF :)

credits

damn I love cpan.


In reply to complex HTML-->???--> PDF? by g00n
in thread Converting M$ Word --> PDF by peterr

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post; it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • Outside of code tags, you may need to use entities for some characters:
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.
  • Log In?
    Username:
    Password:

    What's my password?
    Create A New User
    Chatterbox?
    and the web crawler heard nothing...

    How do I use this? | Other CB clients
    Other Users?
    Others pondering the Monastery: (10)
    As of 2014-12-29 11:00 GMT
    Sections?
    Information?
    Find Nodes?
    Leftovers?
      Voting Booth?

      Is guessing a good strategy for surviving in the IT business?





      Results (186 votes), past polls