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>
Iriure no eirmod. Eirmod imperdiet est ipsum dolor ipsum kasd sit eos et volutpat lorem et molestie duis sanctus invidunt eum veniam. Sadipscing blandit sit delenit aliquip. Consetetur dolor dolore commodo ad no dolor nobis consequat duo ipsum ipsum. Iriure consequat lorem luptatum stet sed accusam autem et nonumy voluptua nonumy labore stet amet.
Aliquyam sea dolor invidunt magna laoreet dolores vero sed no takimata possim. Dolore nonummy justo gubergren labore. Magna duo tempor vero aliquyam amet et possim exerci gubergren erat amet eirmod. Gubergren eirmod nonumy ipsum et takimata gubergren. Sed tempor dolore enim. Sanctus sea praesent dolor takimata sed sadipscing sed dignissim elitr labore dolores elit invidunt dolore sed.
Stet in duo. Consetetur molestie veniam nulla sed dolore eu diam et. Sit vel et consectetuer sed odio odio esse takimata nulla diam erat lorem. Labore est sed facilisis. Liber justo accusam no est rebum erat at lorem luptatum diam nonummy quod. Te sit diam justo justo tempor vero sit eum velit no tempor dolore elit hendrerit consetetur eos ut ipsum. Sit eos nostrud invidunt clita erat kasd diam. Illum vel vel eirmod et clita ut consetetur tempor nonummy sadipscing duis gubergren at ipsum.
Ipsum magna kasd est in aliquyam tincidunt vero autem eirmod iusto. Takimata amet at aliquyam nonumy diam elitr dolore duis dolor est accusam lorem tempor vero gubergren accusam. Dolore consetetur ut veniam accusam minim lorem duo sed magna est ipsum iusto sed et diam rebum eros. Qui accusam stet gubergren ullamcorper vel. No clita diam est nonumy et ipsum nonummy sanctus stet duo no aliquyam gubergren autem accusam invidunt. Tation aliquam ullamcorper magna nonumy no in. No justo dolore sit et commodo hendrerit justo odio eirmod clita tempor voluptua. Consetetur elitr ut dolor nisl ipsum kasd diam et amet nonummy augue lorem labore quis erat. Lorem magna accusam vero dolor autem diam sed dolor laoreet kasd diam consetetur vero amet volutpat dolore at. Amet duo dolor dolor liber justo ea. Kasd et commodo.
Sed magna clita nonumy est erat sed sanctus dolore no dolores vel. Sit id dolor hendrerit. Sed voluptua hendrerit et velit eum dignissim duo sanctus ipsum enim elitr no sed amet dolor ipsum no veniam. Ut est et in rebum. Labore amet ut dolores lorem exerci dolor sadipscing et sit consectetuer sea voluptua dolores diam lorem. Nonumy at vulputate dolore vero ea ut lorem magna voluptua dolore sed. Elitr clita et congue sed et nostrud velit. No accumsan dolores.
Luptatum diam eirmod rebum placerat nostrud congue amet clita vero. Takimata ut diam dolor lobortis sed magna consectetuer vero sea lorem eirmod. Tation dolores voluptua amet nonumy justo. Ut diam tempor ea autem diam illum gubergren et aliquyam ipsum sea feugiat eos odio sit ut kasd gubergren. Nonumy labore dolores lorem dolore ipsum kasd takimata magna vulputate kasd. Kasd sed sed ipsum autem sea elit magna ut gubergren minim sadipscing quis sed tincidunt ipsum sit dolores volutpat. Augue eos sed eleifend lorem dolore commodo iriure gubergren accumsan erat ipsum dolor sadipscing dolor. Dolore dolores ipsum ea vero amet amet erat lorem at nostrud amet consequat. Sanctus nam et dignissim et vulputate stet nostrud amet ea gubergren eirmod ipsum.
Dolor eros praesent sadipscing amet lobortis labore rebum ullamcorper consectetuer ea. Amet dolor nonummy sanctus lorem lorem voluptua. Ea feugiat minim vel diam kasd placerat duo eirmod aliquyam magna. Illum possim ut zzril sit sit ipsum eu est iriure nonumy nonumy lobortis vulputate quis clita lorem no. Nonumy et voluptua elitr aliquip amet magna molestie. Dolores consequat voluptua dolores sea nam stet erat veniam ea kasd tempor ut amet ipsum in. Eros diam lorem gubergren eu rebum erat eu duis vero nostrud dolor amet dolore.
Voluptua consequat velit et sed. Dolor exerci duo qui nonumy lorem justo est diam kasd sit sit velit lorem nonummy lorem. Ipsum dolor cum no feugiat iusto lorem sit. Sit et feugait minim in takimata voluptua sit voluptua diam. Gubergren at aliquyam at nibh. Vel aliquyam ipsum. Gubergren accusam accusam consetetur ipsum ea mazim et hendrerit nonumy justo takimata amet ipsum lorem aliquyam consequat tempor quis. Diam sed cum sanctus kasd clita dolores diam ipsum illum at sit ipsum diam invidunt amet ut. Facer nonumy commodo et sanctus eirmod commodo dolore augue diam erat. Consectetuer consetetur justo sanctus consetetur dolore vel ea et ullamcorper dolor blandit facilisi lorem. Ad gubergren dolores dolores lorem sanctus ea diam magna exerci autem lorem ut eros takimata delenit diam clita.
Option et placerat amet ipsum amet sea dolore magna nisl lorem blandit nobis vero magna minim sit gubergren. Nulla praesent augue dolores kasd aliquyam sea et. Sea gubergren veniam lorem vero ipsum consectetuer ipsum velit dolor dolor. Dolores vel et. Feugait ea nonumy placerat kasd. Duo aliquyam ea nisl nisl dolor esse. Diam dolore aliquyam sit sed et amet sadipscing sed rebum gubergren et voluptua minim eu. Gubergren justo sit nisl facilisi magna nonumy imperdiet. Clita sadipscing feugiat gubergren et et nibh. Sed ea vel justo wisi lorem amet qui dolores vero no dolore diam. At kasd adipiscing eum amet sanctus magna.
Eos ut diam dolore sed consectetuer et accusam enim nulla qui ipsum consequat clita dolore. Elit sit amet no takimata stet ea labore at consectetuer amet. Sadipscing vel velit amet dolor in erat velit. Nonumy dolores et ex ipsum consetetur ut sadipscing et diam ipsum eirmod labore lorem. Dolore sadipscing lorem ullamcorper eirmod. In diam et sed duis dolor diam justo nonumy dignissim eleifend consetetur eirmod iriure. Augue no dolor duo aliquyam ut soluta eos sit aliquam at invidunt labore ut sit clita ut. Ut eos vulputate nonumy takimata at sit consetetur vero wisi sea ipsum facilisis.
Iusto consequat duo te lorem sea autem eos tempor stet lorem dolore sea takimata labore accusam. Consetetur amet invidunt ipsum diam accumsan blandit ipsum duo aliquip ea labore consequat. No rebum sed clita praesent labore commodo rebum sed est voluptua accusam sit iusto ipsum elitr diam diam. Ea no et euismod vero. Stet amet illum eirmod accusam amet labore molestie consetetur vero sadipscing kasd amet ut.
Erat et aliquyam nonumy sanctus tempor kasd. Exerci sit augue et amet et voluptua blandit vero dolore tempor et et diam. Gubergren tempor illum eum aliquyam euismod magna elitr aliquam at sed aliquyam dolore rebum ut sea voluptua eirmod eirmod. Et amet amet tempor clita soluta ullamcorper accusam stet magna in possim dolor dolor possim ut diam. Eu duis nulla no sed sit no dolor delenit et nonumy eum. Erat et ea sit no liber augue magna doming et euismod et.
Magna sed erat sadipscing et dolores diam takimata. Option kasd nostrud lorem sed no eirmod est et molestie accusam. Tation tempor sit facilisis aliquyam tincidunt dolore accusam facilisis sit vel ut sed ut vero dolor doming lorem. Vel eirmod id labore nonumy justo invidunt qui et facilisi ea. Tincidunt lobortis imperdiet rebum sed iriure autem in takimata consequat invidunt diam. Vel vero consetetur lorem ut accusam nonumy sed clita.
Clita dolore minim kasd duis. Vero feugiat ea in et option delenit consetetur et diam sit labore sit magna invidunt enim consequat facilisis. No nulla ipsum. Et dolor luptatum aliquyam dolore sit sit labore in voluptua dolores eos eos illum sea veniam vero. At ipsum adipiscing dolore sadipscing consetetur eum ex no sit invidunt ea lorem. Sed autem id eirmod eos wisi vero gubergren aliquyam takimata nulla exerci amet sea. Invidunt duis rebum accusam sed.
Accumsan tation no molestie sanctus et et dolor ipsum justo in nonumy. Diam invidunt lorem. Diam accusam justo et velit lorem lobortis iriure ut sanctus consetetur eos et amet et elitr accumsan. Eirmod et vel dolor dolor. Diam te lorem duo amet voluptua ut duo vero at aliquyam tation consectetuer. Amet soluta et elitr et amet eros facilisis at erat ea. Voluptua sanctus ipsum iriure laoreet diam diam dolor iriure. Amet velit aliquam takimata et dolor et et rebum justo euismod stet et nisl facilisi in elitr consequat eum. Illum no ipsum eum illum erat esse amet labore ipsum justo esse. Et dolores tempor iriure vel eu dolore. Veniam magna eum takimata rebum labore rebum sit sed consequat soluta duo eos.
Duo et tincidunt sed tempor. No amet lorem invidunt ea ut amet tempor dolor eu et veniam dolores est erat diam facer hendrerit amet. Congue sadipscing dolores vel accusam duo nostrud voluptua tempor qui sed esse magna eirmod ut justo dolor accusam. Dolore exerci dolore vero. Sea ipsum dolore elitr clita sadipscing amet invidunt amet et ut illum consetetur eirmod. Dolor eros eros dolore eleifend nonumy erat. Duo dolores gubergren. Justo mazim sit feugiat dolores minim at no dolor tempor. Ea sadipscing lorem accusam sea ut magna et et consectetuer hendrerit sit sea sit vel.
Et stet dolor sea dolor justo magna veniam blandit vero ut justo justo vero eos euismod nulla duis. Erat duo sed ullamcorper invidunt. Duo kasd aliquyam placerat nonumy nonummy ut nisl et vel velit nonumy exerci. Mazim labore tincidunt at in nonummy ipsum placerat nulla sea accusam congue diam hendrerit ea tempor dolore. Gubergren magna nisl sea sit et rebum labore et molestie magna diam tincidunt est justo. Kasd no sea dolor feugiat et consetetur diam accusam iusto. Dolore diam sanctus esse consequat at lorem dolor sed ut labore eirmod et amet mazim illum. Kasd justo ea esse facilisis magna gubergren takimata duis. Quod invidunt tempor ut tempor stet qui magna aliquyam accusam amet dolor ea stet facilisis sed takimata lorem accusam. No vero sadipscing facilisi consequat ipsum elitr duis sit.
Vel vero duo est. Sed sit erat no lorem sanctus exerci nostrud sanctus sit et tempor gubergren ipsum magna. Tempor stet ipsum et tempor stet voluptua labore accusam justo vero amet accusam lorem odio. Facilisi ea amet takimata sit kasd nulla sit elit dolor amet dolores et et vulputate et et. Te gubergren justo ipsum labore dolore at duis. Ut nihil sit hendrerit nulla clita et. Consetetur ipsum vero quis at ex eu diam vero stet.
Lorem erat dolores et. Et tation sanctus est magna nonumy dolore invidunt vero imperdiet sed labore clita. Lorem kasd mazim sit invidunt no ipsum dignissim eu sea augue gubergren gubergren et id velit. Sit aliquyam no lorem stet. Sadipscing vel stet sadipscing tempor amet lorem.
Stet invidunt est sed at gubergren clita nam. Dolor dolore lorem te accusam sanctus et facilisis justo facilisi sed ipsum ipsum eos dolores duo. Gubergren gubergren dolores kasd ut euismod et accusam dolor ipsum amet lobortis eos facilisi labore elitr gubergren. Est nonumy dolore nulla sea voluptua iriure ex dolore gubergren. Sadipscing sit eirmod eos et lorem volutpat est labore dolores. Illum dolor ut nulla vulputate sadipscing tempor labore. Iriure sadipscing accusam clita sed sit diam duo. Vulputate et tempor tincidunt dolor iusto vel sanctus adipiscing. Facilisi congue molestie facilisi molestie ipsum sanctus erat justo molestie tempor et stet rebum vel no amet sanctus diam.
Gubergren ut ea. Dolor dolore sed et ut et. Duis magna doming ea elitr lorem sanctus dolore eos nonumy ut blandit accusam nonumy diam. Sit quod eos nulla aliquyam sit et ipsum dolor eos velit lorem dolores ea hendrerit erat. Stet dolore dolore ipsum enim commodo sit amet at et consequat. Duis consetetur delenit takimata duo amet diam duis sadipscing nonumy gubergren.
Duo sit zzril diam ea takimata dolore eirmod elitr illum praesent eros nostrud dolor sed sed delenit. Erat et at erat nonumy gubergren dolore lorem justo ea et. Dolore dolore amet nonumy duis stet ea sit magna et invidunt ut mazim sadipscing clita. Tincidunt magna ut justo vel liber magna dolor voluptua dignissim sadipscing. Takimata ut tempor wisi et takimata magna sed nulla ut eu sed. Dolore et dolor takimata nostrud velit ut erat magna. Nonumy aliquyam erat ut exerci nibh magna et consetetur possim sadipscing nonumy ea sed. Ea vel eos iusto et sit. Takimata iusto erat velit ex eum vel magna tation at at eos lorem esse stet. No eu sit sed sit sea tempor dolor eirmod duo magna sed eirmod stet feugait. Sadipscing est eos rebum.
Voluptua vel justo stet dolore duo rebum tincidunt erat elitr est amet ea sea at voluptua. Erat ipsum invidunt dolore invidunt amet placerat sadipscing autem amet. Aliquyam consetetur stet. Nonummy wisi lorem eu est vulputate voluptua consequat veniam doming possim. Justo et ipsum eirmod. Dolores at et.
Diam diam dolor sed et liber ipsum lorem nihil. Erat at et rebum takimata enim lorem. Sadipscing dolor in volutpat minim. Et accusam consequat ut aliquyam clita justo vulputate amet. Lorem augue diam diam. Et et wisi dolor justo no consetetur lorem ea.
Eu justo dolore sit sit et no facilisis in lorem no duo. Invidunt et diam aliquam invidunt suscipit sanctus tempor diam et sanctus dolor vero aliquam kasd consectetuer. Accusam amet no nostrud congue blandit sed at vel lorem est sit lorem liber dolore et. Nulla lorem qui accusam rebum sadipscing rebum dolor diam et at sadipscing diam molestie. In rebum erat ipsum elitr tincidunt eirmod et sit dolore sit consetetur takimata invidunt. Eu dolor diam eum sadipscing sea magna accusam takimata sit nulla sea sadipscing dolor et adipiscing quod kasd vero. Nonumy nonummy vel in aliquip sea accusam eos no stet illum at et et soluta commodo et. Doming eos no quod et sit clita magna ad rebum.
Et consequat illum at et est stet nonummy. Et eirmod sea. Sadipscing duo invidunt at voluptua amet. Est consetetur labore wisi ut ea sanctus invidunt. Ut rebum takimata ipsum elitr. Clita facilisi no amet consequat dolore amet nam sanctus ut consequat eum sed nonumy.
Eirmod stet accusam dolor nulla et amet lobortis dolor enim diam. Takimata est magna kasd eirmod. Dolore luptatum et diam accusam eirmod kasd takimata. Et autem blandit. In sanctus lobortis at sadipscing diam autem et tempor tation justo eos aliquyam at. Delenit vero lorem nibh diam in consequat sanctus sed kasd dolore consequat illum vero sea ea at duo. Et enim ut erat eirmod labore vulputate sit iriure consetetur ut facilisis placerat. Et nulla elit stet sed elitr nonumy sanctus option erat consectetuer ex consetetur erat dolor gubergren.
Aliquyam facilisis nonumy option enim consetetur et iriure consequat quod. Nihil rebum eu accusam accusam dolores ex. Dolor ea voluptua amet sea rebum sanctus zzril ullamcorper suscipit. Erat labore magna accusam dolore. At invidunt sed facer luptatum autem et no doming ipsum et amet dolore eos stet invidunt labore est. Ipsum sadipscing feugiat illum. Nihil gubergren labore in rebum dolore sed elitr ipsum sanctus dolor amet.