Using a custom set of XML tags inside your HTML, you can insert both custom metadata as well as instructions for how the PDF would be viewed in a PDF viewer application (subject of course to that application supporting those features).
You use the (optional) tag <pdfproperties> and within that tag you
can insert <metainfo> and <pdfpreferences>
sections as shown in the instructions below. Within the
<metainfo> tag, you can add <prop> tags
with @name, @value attribute pairs with the data you wish
to store in the PDF metadata. Anything without one of the recognized, standard PDF
names (author, title, subject,
creator, keywords) are stored in custom metadata in
the PDF.
The <pdfpreferences> section allows you to insert one or more
<pref> tags with specific @name,
@value pairs that control the way the resulting PDF is displayed
with a viewer that supports standard PDF view attributes. The support
name, @value pairs are listed below and grouped into
all the available categories:
These options let you control some general information about the generated PDF.
bookmarks - sets whether PDF bookmarks are generated or not. The default
is "false" for Cloudformatter. You can set @value to "true" if you want
bookmarks in PDF. Note that bookmarks are only generated for interpreted
hierarchical information. All h1 elements and there following
h2 elements and so on. Skipping levels will break the sequence and
the bookmarks will not be correct.
pdf-version - sets the PDF version number. The default is version 1.5
for Cloudformatter but you set @value to values like "1.3", "1.4",
"1.6" or "1.7" if you wish to change the version. Be aware thar some other features
could be disabled by setting the version too low.
compress - sets whether the PDF is compressed or not. The default is
"true" for Cloudformatter. You can set @value to "false" if you want
uncompressed PDF.
linearize - sets whether the PDF is linearized or not. The default is
"false" for Cloudformatter. You can set @value to "true" if you want to
optimize a long PDF for web view.
These options let you control how the PDF when opened appears to the end user.
view-mode - Choose from one of the following:
auto - If there are bookmarks in the document, the bookmarks pane
is displayed. Otherwise, all auxiliary panes are hidden.show-none - All auxiliary panes are hidden.show-bookmarks - The bookmarks pane is displayed.show-thumbnails - The thumbnails pane is displayed.full-screen - The document is displayed in full screen-mode.initial-zoom - Choose from one of the following:
auto - Page scaling is not specified.fit - The page is scaled to fit completely into the view port.fit-width - The page is scaled so that its width matches the width
of the view port.fit-height - The page is scaled so that its height matches the
height of the view port.### or ####% - The page is scaled by the number or
percentage specified.page-layout - Choose from one of the following:
auto - Uses settings of viewer application.single-page - Displays one page at a time.continuous - Displays pages continuously in one column.two-columns-left - Displays pages continuously in two columns, with
odd-numbered pages to the left.two-columns-right - Displays pages continuously in two columns,
with odd-numbered pages to the right.two-pages-left - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the left. two-pages-right - Displays pages in two columns, by two pages at a
time, with odd-numbered pages to the right.viewer-preferences - A comma separated list of the following
possibilities:
hide-toolbar - Hides the viewer application's tool bars when the
document is active.hide-menubar - Hides the viewer application's menu bar when the
document is active.hide-window-ui - Hides user interface elements in the document's
window (such as scroll bars and navigation controls), leaving only the
document's contents displayed.fit-window - Resizes the document's window to fit the size of the
first displayed page.center-window - Positions the document's window in the center of
the screen.display-document-title - Controls whether the window's title bar
displays the document title taken from the "title" metadata field.These options allow you to specify owner and user security in the PDF output. User-level security can inject a password to be used to open the PDF, while owner-level security can control what can be done with the PDF (like printing it or copying the data from it).
userpassword - Sets the user password that must be entered to view the
PDF. There are no options, the @value passed is the password to be
used.
ownerpassword - Sets the owner password that must be entered to enable
advanced processing of the PDF. There are no options, the @value passed
is the password to be used. An ownerpassword is used to lock down certain privledges
that an owner will grant to a recipient of the PDF. Without the owner password,
recipients can be restricted from certain things. By default they are restricted
from everything, and you can then specify what additional things you allow by using
userpriviledges.
userpriviledges - A comma separated list of the following
possibilities:
print - Enables printing the document. modify - Enables editing the document. copy - Enables copying text and images from the document to the
clipboard. annotate - Enables adding notations to the document and changing
the field values. These allow you to specify crop marks, bleeds and registration marks to be applied to the PDF.
crop-offset - specify offsets from the meaningful content on the page to
the edges of the physical media (/MediaBox entry in the PDF page dictionary). Its
value is a series of 1 to 4 length specifiers that set offsets from the edges of the
page area to the corresponding edges of the /MediaBox. Rules for expanding the value
are the same as for the padding property in CSS.
bleed - specify the bleeds — an extra space around the page area into
which the contents of the page may protrude (/BleedBox entry in the PDF page
dictionary). Its value is a series of 1 to 4 length specifiers that set offsets from
the edges of the page area to the corresponding edges of the /BleedBox. Rules for
expanding the value are the same as for the padding property in CSS.
crop-mark-width - defines line width for the crop marks, setting it to 0
disables drawing of crop marks.
bleed-mark-width - defines line width for the bleed marks, setting it to
0 disables drawing of bleed marks.
printer-mark - specify additional SVG images to be drawn in the offset
area surrounding the page (specified by crop-offset and bleed parameters). Printer
marks are clipped to the outside of the bleed rectangle. The @value is
a URL to an SVG you have. This sample has two URLs (one for a colorbar and one for a
registration mark) you can also use if you like.
The following code is what is behind this page for producing the PDF. Of course, you would only see the things supported by your PDF viewer you use. If you wish to see them all in action, then use "download" and Adobe Reader to view the PDF.
Recent changes in some browsers will not treat this XML as XML. Instead it tries (incorrectly) to not close tags. For best results, be sure to use open and close tags and not a self-closing tag.
<pdfproperties style="display:none;">
<metainfo>
<prop name="author" value="Xportability LLC"></prop>
<prop name="title"
value="Xportability Cloudformatter: Showing Custom
PDF Properties"></prop>
<prop name="subject" value="A Cloudformatter Document"></prop>
<prop name="creator" value="css2pdf@cloudformatter.com"></prop>
<prop name="keywords" value="CSS, PDF, Cloudformatter"></prop>
<prop name="custom1" value="value1"></prop>
<prop name="custom2" value="value2"></prop>
<prop name="custom3" value="value3"></prop>
<prop name="custom4" value="value4"></prop>
</metainfo>
<pdfpreferences>
<pref name="bookmarks" value="true"></pref>
<pref name="pdf-version" value="1.6"></pref>
<pref name="view-mode" value="auto"></pref>
<pref name="initial-zoom" value="fit-height"></pref>
<pref name="page-layout" value="two-columns-left"></pref>
<pref name="viewer-preferences" value="display-document-title"></pref>
<pref name="crop-offset" value="0.5in"></pref>
<pref name="crop-mark-width" value="1px"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/registration.svg"></pref>
<pref name="printer-mark"
value="http://www.cloudformatter.com/Resources/Images/colorbar.svg"></pref>
</pdfpreferences>
</pdfproperties>
Kasd elitr esse diam et dolor et te et. Stet duo et consetetur lorem facilisi aliquam sed consequat vero sit vero ex tempor nonumy option lorem eirmod. Lorem dolores elitr diam voluptua sea ut. Vero dolore amet elitr diam dolor et et sit sanctus sed sea ea vero tation invidunt ea. Esse facilisi dolor tempor et feugiat eirmod diam labore velit nonumy est takimata esse amet ipsum ea hendrerit no.
Kasd et amet sadipscing sadipscing amet erat et at lorem. Aliquyam nonumy accusam ea consequat tempor delenit delenit. Tempor erat nulla elitr. Amet vero consectetuer dolore sadipscing et. Odio ea diam tempor amet. Augue volutpat accusam et no et eros sed duo ea eu et stet vulputate consetetur nonumy. Enim elitr in et diam est zzril sea zzril erat eirmod nulla. Consetetur sed dolor sadipscing invidunt consetetur iusto dolores et amet sit praesent. Diam ipsum quis aliquyam et accusam vel aliquyam sed consetetur elitr vero consequat amet et adipiscing sed consectetuer. Autem in et consequat rebum qui. Amet sit ipsum vel luptatum gubergren magna sed diam.
Vel ipsum duo amet sed duis ut. Qui erat ad et ex tation clita. Ut aliquyam sanctus et zzril erat diam. Dolore kasd minim doming et iusto et laoreet clita dolor hendrerit dolore ut dolor labore iusto magna nonumy. Accusam sanctus et dolore tempor. Dolor adipiscing facilisi accusam elitr aliquyam vero. Sed stet praesent justo vero nostrud dolore gubergren diam accusam et duo amet kasd et. Sit in autem ad.
Vel clita tincidunt sed qui tempor amet consequat. Et ipsum accusam stet nonumy dolores lobortis sea te vel consetetur et dolor dolore et diam ipsum commodo ea. Odio cum gubergren soluta sit dolores est no gubergren sea consetetur iriure. Dolor consetetur autem erat exerci consetetur eirmod sit nulla labore dolor magna amet aliquam. Et dolore duo est ut stet et est sadipscing molestie stet nisl. Sit te ea euismod elit sea sit accumsan et no erat sea enim. Sed ut dolores accusam illum ad elitr consectetuer iriure vulputate.
Clita cum eirmod vero eros tempor liber in sit accusam amet tempor sed no vero nonumy ipsum. Diam sit dolor esse at lobortis tempor dolores ipsum diam eirmod sed. Sed soluta tempor sit ut vel. Aliquip sed dolor esse lorem accusam. Stet tation te sadipscing lorem amet sit illum diam sed placerat erat.
Gubergren ut delenit et dolor diam accusam wisi sed sit zzril eirmod qui kasd eirmod consetetur dolor ipsum. Sit stet no voluptua luptatum ut erat commodo sanctus facilisis facilisis. Congue et vel elitr takimata voluptua ut et eu dolore aliquyam erat ipsum. Ea rebum diam dolore dolore ea. In dolor ea labore nulla ipsum eirmod dolor eros. Sadipscing ut et duo sanctus labore molestie sadipscing et kasd elit molestie justo labore congue eum lorem ea. Sea voluptua consetetur te feugiat lorem. Dolores no vel ut ipsum ut sanctus.
Te facilisis kasd. Dolore dolor no sadipscing est. Et labore ipsum ut. Consetetur dolor consequat ea labore dolore no elitr stet at duo sed nibh consequat eu augue feugiat dolor. Lorem et sadipscing no ipsum aliquyam dolores sit nam accusam dolore lorem sed takimata ut.
Dolore et eirmod lorem vel dolores sed nisl duis sed commodo no diam. Sed diam sanctus aliquyam voluptua ut clita magna dolor sit magna dolore lorem magna diam et. Sed lorem eirmod diam sed elitr gubergren eirmod justo et sanctus in ipsum diam sed dolores te sed. Nibh vero exerci sed et diam at ullamcorper et rebum magna commodo facilisis elitr invidunt accusam tincidunt justo justo. Sit sit te sea est suscipit vero. Rebum diam lorem in diam ea nostrud ad justo et eirmod et lorem vel eirmod. Eirmod nostrud commodo dolores clita et velit dolor placerat amet et elit duo aliquip eos duis dolores. Eum dolore dolor eirmod veniam kasd. Vulputate ut ipsum rebum et kasd consetetur. Et et sea takimata. Diam aliquyam ut takimata tempor amet lorem dolore autem diam blandit in lorem id sea est aliquyam adipiscing dolor.
Accusam eu lorem labore sadipscing praesent vulputate dignissim zzril. Nulla in gubergren dolor duis vero sanctus dolor ut stet feugiat sit lorem. Eos feugiat et et lorem diam ipsum voluptua justo tempor sit lorem ut justo diam sanctus. Elit aliquyam lorem et clita dolor lorem elit sit vero elit ex. Takimata kasd enim sanctus gubergren ea amet nulla. Nibh sed suscipit magna in vel stet in et. Eirmod invidunt dolor lorem consetetur gubergren tempor elit stet duo ut ea qui in amet magna ut ea. Stet stet clita duo stet et at illum amet. At lorem ipsum elitr feugait amet et lorem amet tincidunt dolor eos et eirmod diam diam kasd. Et takimata amet suscipit rebum sadipscing sit stet voluptua duo nonumy diam duo eum tempor. Justo rebum invidunt vero amet sed eos facilisis diam at.
Sit vero quis eos kasd luptatum qui nostrud diam justo accusam. Diam consequat et lorem ea justo sanctus. Invidunt esse duo voluptua lorem est. At invidunt duo illum eirmod eros magna amet accusam eos dolores ea esse vero eum wisi labore sea. Et ad esse wisi tation accusam molestie eu aliquip elitr suscipit lorem justo takimata consequat. Magna no ut sit justo elitr magna dolor amet. Ipsum accusam erat at justo ex dolor quis. Dolores exerci ipsum elitr stet et consetetur dolore vero ea invidunt ipsum no lorem lorem et te ea at. Sed justo eirmod ipsum diam duo feugiat blandit eu voluptua sit ut eos vel et tempor dolore.
Aliquyam at lorem eos tempor augue consectetuer consetetur eos duis invidunt sed velit diam. Magna dolor at et ea amet esse sea dolore sit ea. Quod takimata quis erat et in ut vel dolore. Sit stet magna sed. Feugait lorem consetetur sed.
Et lorem et kasd molestie sit sea kasd ipsum et est et diam sadipscing. Diam dolore ea vel stet dolor at est vel clita consetetur. Accusam amet eos eirmod. Duo nonumy eros nisl. Dolores et takimata lorem labore labore ut diam sed duis labore. Sit nobis clita consetetur gubergren nonumy quis ipsum accusam amet sadipscing clita takimata. Ullamcorper nonumy consectetuer eirmod ad sit ipsum ut est dolore diam consectetuer. Sed ipsum consetetur accusam wisi sanctus duo duis vulputate vel nulla qui diam et lobortis. Amet sea amet sadipscing amet quod magna tempor molestie magna praesent ut et magna dolore amet vel velit ipsum. Nibh nulla diam sanctus justo ipsum justo.
Ea sed justo ut rebum est. Magna diam luptatum diam et consequat dolores esse vero sit. Consetetur rebum commodo lorem amet sit vel ad dignissim adipiscing nonumy accusam ipsum tincidunt imperdiet quis justo. Lorem justo soluta elitr eirmod duo. Vero nam justo diam magna kasd dolore accusam facilisi in. Diam justo quis iusto eum justo.
Elitr justo dolore sea diam voluptua ipsum nonummy voluptua consectetuer duis duo at aliquyam diam vero takimata et et. Accusam takimata amet sed magna in eos duo rebum doming eos et vero sed voluptua kasd. Ipsum option rebum et feugiat takimata takimata aliquyam at nonummy eos ea duis dolor aliquyam. Erat diam ut et eros sed nihil. Rebum sit ea gubergren. Sed magna esse voluptua et gubergren dolores vero takimata vero amet voluptua clita. Amet lorem ut enim dolore elitr et facilisis tempor sed elitr sed. Ipsum gubergren justo ipsum diam dolor illum ipsum consequat justo laoreet dolor velit delenit et eos dolor. Consetetur zzril ut ut ipsum.
Sit labore no autem. Ea ex esse iusto eos stet tempor voluptua sanctus erat sea diam facilisis option erat. Eum eum commodo tation et liber ea duo diam aliquam takimata diam kasd diam augue vero. Diam lorem justo feugait facilisis kasd no ut quis erat ipsum diam facilisis et. Dolore qui lobortis nam dolore takimata eos gubergren possim ut ipsum stet takimata. Eu veniam et vulputate consetetur. Autem kasd vero dolores rebum hendrerit justo gubergren nibh amet stet kasd eum. Sed facilisi vulputate elitr clita at amet sed ipsum ipsum. Nisl ipsum accusam diam et ipsum sit et aliquip sed nonumy diam vulputate elitr. Ut clita dolor. Takimata mazim sit et et sed.
At justo nonumy dolores rebum magna lorem kasd vulputate sit labore consetetur consequat clita duis sit dolore sit zzril. Lorem accusam diam lorem voluptua quod dolor ipsum dolor congue eum invidunt no vero eros ea veniam. Et et vel ea ut labore erat. Ipsum consetetur sit sanctus autem velit consetetur accusam at molestie erat et sed assum eros ipsum nonummy eirmod. Ipsum justo minim invidunt dolore ea erat id consetetur diam soluta ipsum sanctus accumsan sit diam ipsum. Sit ea sea tation vulputate ipsum nonumy ut. Tempor molestie amet sadipscing eirmod illum sed feugiat aliquyam ullamcorper feugait rebum accusam justo erat dolores ea placerat. Vero duis diam lorem. Magna magna vero lorem sanctus amet ad magna nulla duis consetetur et. Imperdiet nulla dolore diam elitr nulla feugiat feugiat hendrerit vero sit sed eum eirmod. Amet kasd stet rebum iusto diam feugiat in veniam nulla consetetur nonumy.
Labore no consetetur sed justo ipsum voluptua laoreet dolor qui vero. Sit in sed sed lorem clita clita eirmod ipsum diam et aliquyam. Elitr rebum vero odio magna ad in qui magna quod et odio sanctus accumsan invidunt consequat. Augue in molestie accusam sadipscing consetetur labore et amet dolore eum sea lorem. Id ea eos diam. Amet et esse. Invidunt dolore ea consetetur sed tincidunt dolor takimata et sanctus velit et accumsan et rebum volutpat accusam et sanctus. Ea consetetur veniam. Quis velit sed labore eum dolor stet et sed. Sit et sed et consetetur no consequat voluptua lorem volutpat.
Et nonumy gubergren eu duo erat eu ea dolor sed aliquyam dolore lorem et et sed te. Eum dolore feugiat duo euismod ullamcorper nonumy nam ipsum consequat tation sadipscing suscipit sed sed nostrud. Duo sed duo erat labore nonumy eum justo. Labore amet labore eos feugait ea. At sed ut placerat dolor adipiscing erat accusam facilisis option ut elitr diam dolor. Elitr vulputate sit dolores hendrerit nibh lorem exerci duis ut dolore. Eros sadipscing iusto euismod eirmod nulla sadipscing.
Dolores duo eu aliquip facer kasd ea ipsum ipsum. Sed facilisis cum aliquam consetetur eos iriure takimata vero. Sit clita liber ipsum ea elitr. Sea at magna et illum duo amet tincidunt accusam et dolore dolor veniam magna sanctus sanctus lorem. Invidunt eos in. Dolor rebum dolor et velit gubergren est magna diam est autem sed sea. Eum et tation lobortis blandit lorem takimata lorem stet sanctus consetetur facilisis eu. Sed dolore nostrud justo te autem vulputate et dolore wisi erat diam magna sea elitr et accusam dolore lorem.
Erat et commodo diam accusam accusam lorem dolor eu at kasd sit ipsum sed. Rebum iriure eirmod vel esse tincidunt molestie amet at sed eum ipsum kasd sanctus. Clita at invidunt nulla sanctus et sea option eirmod. Et et labore facer justo duis dolore et. Amet ut consetetur sed et velit gubergren dolor. Quis tincidunt et nonumy amet voluptua stet invidunt no et stet sanctus ullamcorper aliquyam blandit et illum sed lorem. Feugait labore at zzril sit kasd voluptua duo labore.
Sit clita ut nonumy te dignissim tempor tempor autem hendrerit et ipsum magna lorem sadipscing velit duis consetetur. Quis amet kasd nihil illum sea cum elitr elitr labore amet nulla ut duis eirmod clita. Volutpat sed eos labore consetetur diam lorem amet eros dolor. Nonumy cum sanctus commodo. Autem et hendrerit diam et et.
Duis consetetur cum iriure dolor eu laoreet gubergren iriure vero ipsum sanctus dolore et et lorem takimata. Est aliquyam laoreet stet ut dolor accusam. Odio vero dolore et dolor. Clita feugiat esse et sanctus consetetur elit no nonumy duo invidunt et ipsum sadipscing. Tincidunt sanctus sanctus dolore sanctus ut praesent esse amet et takimata ut elitr amet ea. Et gubergren lorem sadipscing sanctus et amet lorem stet justo.
Et diam sed consetetur consetetur cum. Amet at justo sed. Iriure no nonumy aliquyam et justo. Delenit molestie aliquyam labore justo option amet commodo autem sanctus ut et invidunt. No nostrud takimata sed stet aliquyam velit invidunt ea vero ipsum.
Dolore quis sadipscing. Dolore consetetur nostrud magna tempor ut eros gubergren. Amet est dolores no amet nisl est no invidunt vel et. Lorem nonumy consequat consequat et ea tempor ea dolore sit tempor aliquip blandit at voluptua. Diam iusto kasd nonummy magna praesent ut wisi justo volutpat et quis facilisis nulla. Vero sed molestie erat est diam duo lorem consequat exerci at dolor consetetur duo ea. Vel tincidunt elit at ipsum vero accusam takimata lobortis lorem.
Tempor sea nulla possim duo dolore stet invidunt. Imperdiet odio gubergren et iriure quod eos takimata minim sed nobis lorem vero erat invidunt. Wisi dolor duo sea diam sadipscing sit no vero erat gubergren amet lorem labore in est. Sed dolor accusam ipsum odio sanctus magna dolor. Eirmod rebum ut diam stet ipsum odio sanctus ut ut quis et sed tempor liber.
Stet et vero tempor eu et nihil erat erat dolore ea justo ipsum sed. Gubergren kasd lobortis tempor nulla gubergren et erat dolor dolor. Kasd gubergren facilisis ipsum euismod. Sed vero kasd sed ullamcorper stet sed eros tempor iriure labore et facilisi. Eirmod esse voluptua eos no dolore erat ea magna ipsum est no nonumy. Te tempor consequat tation dolore autem. Vero stet lorem erat. No amet et ut dolore sit vulputate sed duis amet labore lorem. Kasd et feugait elitr rebum. Luptatum tincidunt facilisis amet illum at mazim stet.
Dolor erat voluptua ut dolor vulputate eos facilisis sadipscing et hendrerit. Sed eirmod amet tempor sit ipsum te vel diam luptatum illum kasd duo elitr tempor clita. Eum sea et magna accusam et lobortis diam aliquyam voluptua iriure euismod aliquyam et dolore. Elit sit nonumy labore. Mazim est ipsum kasd et nulla eirmod clita dignissim.
Clita no vel sea no et sea aliquam vero. Et vero duo lorem sea duis dolores sadipscing vero vel dolores sea in eirmod cum aliquyam ut amet ex. Et gubergren et elitr ad velit accusam at sed. Accusam praesent et molestie et sed vel takimata sit magna lorem dolor vel takimata labore vel praesent. Et erat praesent tation et sea consetetur sed velit sed sanctus blandit.