.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" Standard preamble: .\" ======================================================================== .de Sp \" Vertical space (when we can't use .PP) .if t .sp .5v .if n .sp .. .de Vb \" Begin verbatim text .ft CW .nf .ne \\$1 .. .de Ve \" End verbatim text .ft R .fi .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . ds C` . ds C' 'br\} .\" .\" Escape single quotes in literal strings from groff's Unicode transform. .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" .\" If the F register is >0, we'll generate index entries on stderr for .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index .\" entries marked with X<> in POD. Of course, you'll have to process the .\" output yourself in some meaningful fashion. .\" .\" Avoid warning from groff about undefined register 'F'. .de IX .. .nr rF 0 .if \n(.g .if rF .nr rF 1 .if (\n(rF:(\n(.g==0)) \{\ . if \nF \{\ . de IX . tm Index:\\$1\t\\n%\t"\\$2" .. . if !\nF==2 \{\ . nr % 0 . nr F 2 . \} . \} .\} .rr rF .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "HTML::FormatPS 3pm" .TH HTML::FormatPS 3pm "2020-12-18" "perl v5.32.0" "User Contributed Perl Documentation" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l .nh .SH "NAME" HTML::FormatPS \- Format HTML as PostScript .SH "VERSION" .IX Header "VERSION" version 2.12 .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 2 \& use HTML::TreeBuilder; \& $tree = HTML::TreeBuilder\->new\->parse_file("test.html"); \& \& use HTML::FormatPS; \& $formatter = HTML::FormatPS\->new( \& FontFamily => \*(AqHelvetica\*(Aq, \& PaperSize => \*(AqLetter\*(Aq, \& ); \& print $formatter\->format($tree); .Ve .PP Or, for short: .PP .Vb 6 \& use HTML::FormatPS; \& print HTML::FormatPS\->format_file( \& "test.html", \& \*(AqFontFamily\*(Aq => \*(AqHelvetica\*(Aq, \& \*(AqPaperSize\*(Aq => \*(AqLetter\*(Aq, \& ); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" The HTML::FormatPS is a formatter that outputs PostScript code. Formatting of \&\s-1HTML\s0 tables and forms is not implemented. .PP HTML::FormatPS is built on top of HTML::Formatter and so further detail may be found in the documentation for HTML::Formatter. .PP You might specify the following parameters when constructing the formatter object (or when calling format_file or format_string): .IP "PaperSize" 4 .IX Item "PaperSize" What kind of paper should we format for. The value can be one of these: A3, A4, A5, B4, B5, Letter, Legal, Executive, Tabloid, Statement, Folio, 10x14, Quarto. .Sp The default is \*(L"A4\*(R". .IP "PaperWidth" 4 .IX Item "PaperWidth" The width of the paper, in points. Setting PaperSize also defines this value. .IP "PaperHeight" 4 .IX Item "PaperHeight" The height of the paper, in points. Setting PaperSize also defines this value. .IP "LeftMargin" 4 .IX Item "LeftMargin" The left margin, in points. .IP "RightMargin" 4 .IX Item "RightMargin" The right margin, in points. .IP "HorizontalMargin" 4 .IX Item "HorizontalMargin" Both left and right margin at the same time. The default value is 4 cm. .IP "TopMargin" 4 .IX Item "TopMargin" The top margin, in points. .IP "BottomMargin" 4 .IX Item "BottomMargin" The bottom margin, in points. .IP "VerticalMargin" 4 .IX Item "VerticalMargin" Both top and bottom margin at the same time. The default value is 2 cm, .IP "PageNo" 4 .IX Item "PageNo" This parameter determines if we should put page numbers on the pages. The default value is true; so you have to set this value to 0 in order to suppress page numbers. (The \*(L"No\*(R" in \*(L"PageNo\*(R" means number/numero!) .IP "FontFamily" 4 .IX Item "FontFamily" This parameter specifies which family of fonts to use for the formatting. Legal values are \*(L"Courier\*(R", \*(L"Helvetica\*(R" and \*(L"Times\*(R". The default is \*(L"Times\*(R". .IP "FontScale" 4 .IX Item "FontScale" This is a scaling factor for all the font sizes. The default value is 1. .Sp For example, if you want everything to be almost three times as large, you could set this to 2.7. If you wanted things just a bit smaller than normal, you could set it to .92. .IP "Leading" 4 .IX Item "Leading" This option (pronounced \*(L"ledding\*(R", not \*(L"leeding\*(R") controls how much is space between lines. This is a factor of the font size used for that line. Default is 0.1 \*(-- so between two 12\-point lines, there will be 1.2 points of space. .IP "StartPage" 4 .IX Item "StartPage" Assuming you have PageNo on, StartPage controls what the page number of the first page will be. By default, it is 1. So if you set this to 87, the first page would say \*(L"87\*(R" on it, the next \*(L"88\*(R", and so on. .IP "NoProlog" 4 .IX Item "NoProlog" If this option is set to a true value, HTML::FormatPS will make a point of \&\fInot\fR emitting the PostScript prolog before the document. By default, this is off, meaning that HTML::FormatPS \fIwill\fR emit the prolog. This option is of interest only to advanced users. .IP "NoTrailer" 4 .IX Item "NoTrailer" If this option is set to a true value, HTML::FormatPS will make a point of \&\fInot\fR emitting the PostScript trailer at the end of the document. By default, this is off, meaning that HTML::FormatPS \fIwill\fR emit the bit of PostScript that ends the document. This option is of interest only to advanced users. .SH "METHODS" .IX Header "METHODS" .SS "new" .IX Subsection "new" .Vb 3 \& my $formatter = FormatterClass\->new( \& option1 => value1, option2 => value2, ... \& ); .Ve .PP This creates a new formatter object with the given options. .SH "SEE ALSO" .IX Header "SEE ALSO" HTML::Formatter .SH "ISSUES" .IX Header "ISSUES" .IP "\(bu" 4 Output is in \s-1ISO\s0 Latin1 format. The underlying \s-1HTML\s0 parsers tend to now work in Unicode (perl native) code points. There is an impedance mismatch between these, which may give issues with complex characters within \s-1HTML.\s0 .SH "TO DO" .IX Header "TO DO" .IP "\(bu" 4 Support for some more character styles, notably including: strike-through, underlining, superscript, and subscript. .IP "\(bu" 4 Support for Unicode. .IP "\(bu" 4 Support for Win\-1252 encoding, since that's what most people mean when they use characters in the range 0x80\-0x9F in \s-1HTML.\s0 .IP "\(bu" 4 And, if it's ever even reasonably possible, support for tables. .PP I would welcome email from people who can help me out or advise me on the above. .SH "INSTALLATION" .IX Header "INSTALLATION" See perlmodinstall for information and options on installing Perl modules. .SH "BUGS AND LIMITATIONS" .IX Header "BUGS AND LIMITATIONS" You can make new bug reports, and view existing ones, through the web interface at . .SH "AVAILABILITY" .IX Header "AVAILABILITY" The project homepage is . .PP The latest version of this module is available from the Comprehensive Perl Archive Network (\s-1CPAN\s0). Visit to find a \s-1CPAN\s0 site near you, or see . .SH "AUTHORS" .IX Header "AUTHORS" .IP "\(bu" 4 Nigel Metheringham .IP "\(bu" 4 Sean M Burke .IP "\(bu" 4 Gisle Aas .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" This software is copyright (c) 2015 by Nigel Metheringham, 2002\-2005 Sean M Burke, 1999\-2002 Gisle Aas. .PP This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.