Version 28 of Transforming HTML to PDF

Updated 2008-04-01 03:38:54 by tonytraductor

There's probably no Tcl-specific content to this page.

People often have need of PDF output. This is generally regarded as a difficult format to write programmatically. One convenient way to begin to work with PDF is to achieve it as a transform from HTML. Several tools change HTML to PDF, including:

  • HTMLDOC - A commercially supported version is here: [L1 ]
    For an open source version of the same program, look here [L2 ]
  • Apache FOP [L3 ] - actually that's XML/XHTML -> XML-FO -> PDF
  • HTML2PDF [L4 ]
    D. McC Dead link for HTML2PDF--12/8/2004
  • My Personal favourite: Use html2ps [L5 ] to go from html to PostScript and then the standard ps2pdf [L6 ] program. You get a pdf with intra-page links working. VI
  • Bottle Neck [L7 ] is a converter HTML->TeX. If you take PDFlatex, the effect is HTML->PDF.

I wonder whether something using tclxml and pdflib (or pdf4tcl) might be able to be written to do this transformation.


tonytraductor

In TickleText [L8 ] I just did:

proc pdfout {} {

        if {$::filename != " "} {
   set data [.txt.txt get 1.0 {end -1c}]
   set fileid [open $::filename w]
   puts -nonewline $fileid $data
   close $fileid
   eval exec enscript $::filename -q -B -p $::filename.ps &
   eval exec ps2pdf $::filename.ps $::filename.pdf &
   eval exec rm $::filename.ps &
        }  else { 

   set filename [tk_getSaveFile -filetypes $::file_types]
   set data [.txt.txt get 1.0 {end -1c}]
   wm title . "Now Tickling: $::filename"
   set fileid [open $::filename w]
   puts -nonewline $fileid $data
   close $fileid
   eval exec enscript $::filename -q -B -p $::filename.pdf &
   eval exec ps2pdf $::filename.ps $::filename.pdf &
   eval exec rm $::filename.ps &
   }

}

but, honestly, I don't know if enscript works on Windows. Or for exporting .tex files to pdf I just used pdflatex in a similar manner.



For more references, see [L9 ].