GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
PDF::WebKit(3) User Contributed Perl Documentation PDF::WebKit(3)

PDF::WebKit - Use WebKit to Generate PDFs from HTML (via wkhtmltopdf)

  use PDF::WebKit;

  # PDF::WebKit->new takes the HTML and any options for wkhtmltopdf
  # run `wkhtmltopdf --extended-help` for a full list of options
  my $kit = PDF::WebKit->new(\$html, page_size => 'Letter');
  push @{ $kit->stylesheets }, "/path/to/css/file";

  # Get an inline PDF
  my $pdf = $kit->to_pdf;

  # save the PDF to a file
  my $file = $kit->to_file('/path/to/save/pdf');

  # PDF::WebKit can optionally accept a URL or a File
  # Stylesheets cannot be added when source is provided as a URL or File.
  my $kit = PDF::WebKit->new('http://google.com');
  my $kit = PDF::WebKit->new('/path/to/html');

  # Add any kind of option through meta tags
  my $kit = PDF::WebKit->new(\'<html><head><meta name="pdfkit-page_size" content="Letter"...');

PDF::WebKit uses wkhtmltopdf <http://code.google.com/p/wkhtmltopdf/> to convert HTML documents into PDFs. It is a port of the elegant PDFKit <https://github.com/jdpace/PDFKit> Ruby library.

wkhtmltopdf generates beautiful PDFs by leveraging the rendering power of Qt's WebKit browser engine (used by both Apple Safari and Google Chrome browsers).

Configuration of PDF::WebKit is configured globally by calling the "PDF::WebKit->configure" class method:

  PDF::WebKit->configure(sub {
    # default `which wkhtmltopdf`
    $_->wkhtmltopdf('/path/to/wkhtmltopdf');

    # default 'pdf-webkit-'
    $_->meta_tag_prefix('my-prefix-');

    $_->default_options->{'--orientation'} = 'Portrait';
  });

See the new method for the standard default options.

new($SOURCE_URL,%OPTIONS)
new($SOURCE_FILENAME,%OPTIONS)
new(\$SOURCE_HTML,%OPTIONS)
Creates and returns a new instance. If the first parameter looks like a URL, it is treated as a URL and handed off to wkhtmltopdf verbatim. If it is is a reference to a scalar, it is an HTML document body. Otherwise, the parameter is interpreted as a filename.

The %OPTIONS hash is a list of name/value pairs for command-line options to wkhtmltopdf. These options can augment or override the default options. For options with no associated value, pass "YES" (case insensitive) as the value, e.g. "grayscale => "YES"".

The default options are:

  --page-size     Letter
  --margin-top    0.75in
  --margin_right  0.75in
  --margin_bottom 0.75in
  --margin_left   0.75in
  --encoding      UTF-8
    

command
Returns the list of command-line arguments that would be used to execute wkhtmltopdf.
to_pdf
Processes the source material and returns a PDF as a string.
to_file($PATH)
Processes the source material and creates a PDF at $PATH. Returns a filehandle opened on $PATH.

PDFKit <https://github.com/jdpace/PDFKit>, wkhtmltopdf <http://code.google.com/p/wkhtmltopdf/>, WKHTMLTOPDF <http://search.cpan.org/~tbr/WKHTMLTOPDF-0.02/lib/WKHTMLTOPDF.pm> (a lower-level wrapper for wkhtmltopdf).

Philip Garrett <philip.garrett@icainformatics.com>

Christian Walde <walde.christian@gmail.com>

If you'd like to contribute, just fork my repository on Github, commit your changes and send me a pull request.

http://github.com/kingpong/perl-PDF-WebKit

This code is nearly a line-by-line port of Jared Pace's PDFKit. https://github.com/jdpace/PDFKit

Copyright (c) 2011 by Informatics Corporation of America.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.

2018-02-21 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.