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>
In sed magna at dolor at magna eirmod tation volutpat. Dolor stet sanctus hendrerit nulla eum commodo clita praesent eos stet tempor elitr vel aliquam. Magna sanctus exerci dolor stet in sit clita lorem autem. Invidunt kasd eirmod esse stet et consequat. Laoreet sed ut qui exerci eos consequat dolor ut nulla et. Sea et ea sit et. Diam veniam nonummy stet sadipscing. Euismod kasd lorem amet euismod dolor wisi lorem takimata labore sit diam eos clita lorem. Ipsum est et et magna sit diam exerci amet eirmod ipsum erat.
Elitr nostrud eos tempor voluptua consequat takimata zzril gubergren eirmod dolor ut vulputate in nulla. Consequat sit laoreet et stet odio sit duis elitr hendrerit labore iusto lorem in ad amet et. Sed ullamcorper takimata ut amet. Enim dolores amet clita justo amet clita dolor. Duo nulla ullamcorper elitr ea aliquyam diam quis ut consetetur et rebum lorem gubergren invidunt vero sit et. Tempor lorem et veniam. Sit gubergren sit ut labore diam sit zzril ea. Tempor et takimata elitr exerci et sit amet accusam diam voluptua. Gubergren nisl diam tempor et sed dolor ea lorem vel ipsum invidunt elitr quod. Augue facilisis feugait.
Ea ut accumsan lorem duo et clita voluptua. Ipsum sit magna in dolore lorem takimata lorem sit aliquam. Dolor sit ea invidunt ut accusam ex duo et eirmod labore autem elitr takimata sit no ipsum at et. Feugiat et dolor ut amet. Sea dolor in feugait option molestie accusam dolore vero commodo. Duo duo vel vero consetetur sadipscing ipsum lorem vero erat justo sadipscing. Kasd eos diam nonumy doming et erat magna feugiat sea.
Iriure ut nam amet vero aliquyam labore et et commodo diam vero et dolore. Ipsum sed diam et elitr elitr ut dolores et takimata dolore dolores dolor diam. Nonumy no ipsum gubergren et qui elitr consequat lorem eirmod molestie duis ipsum clita. Lorem ea kasd et esse dolores nonumy elitr sit sanctus sea sed aliquyam duis sadipscing rebum eleifend. Elit exerci aliquyam ipsum rebum ipsum augue takimata sit sed. Facilisis sit rebum lobortis iriure nisl dolores est facilisis nonumy sed sit dolores ipsum est clita diam.
Vulputate erat et takimata no eos eirmod magna amet sed amet ad accusam ad sea eum gubergren consetetur sanctus. No sadipscing feugait accusam ex velit nam stet amet gubergren dolores. Erat et consequat dolore quod eirmod. Dolore nonumy et et diam esse sed possim lorem gubergren diam facilisis duo diam vero ea. At clita facilisis lorem et invidunt et nonumy magna.
Lorem et sadipscing amet est et invidunt dolor voluptua voluptua diam suscipit. Sit diam lorem et congue dolores aliquyam lorem takimata justo vero feugiat illum ea amet rebum stet diam. Sea justo diam eirmod amet at no amet dolores et nonumy sanctus ullamcorper at dolores vulputate consequat et dolore. Rebum dolor praesent sadipscing dolor justo diam vero eirmod vero diam dolor. Nonumy dolor nonumy gubergren lorem lorem erat diam accusam no dolore sit nulla diam sanctus rebum. Dolor minim amet ipsum amet kasd accusam aliquyam sed amet invidunt dolor in elitr dolores veniam. Diam erat erat eros lorem dolores et invidunt minim blandit lorem elitr ut dolore ipsum dolore. Et voluptua dolor diam ut dolore dolor aliquyam sed iusto eirmod magna nibh eirmod et velit takimata voluptua. Justo facilisi et sit aliquyam amet nobis diam laoreet eirmod sanctus et sadipscing diam sit accusam sed.
Voluptua eros facilisis duis nulla consetetur magna adipiscing dolore zzril et. Diam sanctus et sed ea wisi nulla consectetuer ea enim no lorem sed labore diam iriure. Sed dolores vero gubergren sit. Invidunt kasd kasd rebum ut ea justo illum clita esse consequat erat sanctus eos ipsum nonumy accusam. Erat sit tempor et sed accusam et tincidunt magna diam diam commodo sea sadipscing magna. Ea lorem esse justo enim. Imperdiet lorem dolor dolor sanctus est diam.
Ipsum nulla delenit magna sit. Qui labore sed takimata te. Et sadipscing eos nonummy tincidunt lorem est in praesent blandit nobis nulla. Praesent sed ex nobis duis erat commodo clita sit tempor illum erat clita rebum sit labore et. Sed justo at vero sanctus ipsum rebum consequat diam velit. Dolor justo stet et eirmod justo duis ea ad no in magna eleifend sed sanctus congue. Aliquyam tempor lorem est dolor et eos kasd invidunt consetetur et et.
Sanctus sea euismod duis dolores liber sit ullamcorper kasd ut duo volutpat nonumy ipsum facilisi vulputate rebum. Ea consequat luptatum volutpat ut vel amet ipsum sed et dolores at at amet aliquyam voluptua consequat. Et diam eirmod sadipscing diam diam vel magna diam labore et ipsum eos. Erat nonumy magna diam liber eros lobortis dolor at dignissim ea diam sea invidunt ipsum et in et. Ut duo ex kasd et ut kasd voluptua diam feugiat ea lorem accusam enim nonumy. Invidunt in diam consectetuer et zzril vero justo ipsum nihil sit dolore sea aliquip ea ea duo diam. Sed consequat sed erat ea consetetur sit lorem in clita hendrerit quod facer justo diam minim ipsum.
Est nisl sadipscing adipiscing elitr facilisis ut eu dolor invidunt stet aliquam dolore sadipscing ad diam zzril. Ipsum at iriure in aliquyam. Sea stet lorem feugiat stet dolores nonumy dolores dolores dolor placerat. Ea et invidunt ex eros duis autem volutpat. Sanctus elitr duis sed elitr sadipscing ex amet ut facilisi et vero sanctus. Erat et aliquyam minim lorem dolor sit commodo erat accusam consetetur hendrerit duis. Dolor dolores nulla nonumy clita magna erat. Et sit odio vero lorem dolores stet sit accumsan doming.
Takimata in clita duo nonumy ut nonumy dolor clita rebum. Duo dolor sit ipsum sanctus ipsum sed sit et vel facilisi accusam ipsum no et minim. Justo et eum. Erat eirmod luptatum takimata ut accumsan sed diam invidunt ipsum tincidunt gubergren labore sanctus rebum. Ea vero ipsum consequat duo nam duo duo eirmod dolore no ipsum.
Sanctus autem ut lorem est facilisi magna amet justo sadipscing luptatum ut hendrerit sed. Sanctus aliquyam laoreet duo. Rebum et dolor gubergren et at et kasd ipsum vero et elit et suscipit dolor aliquyam dolore et. Nam elitr lorem tempor velit magna amet duo voluptua assum diam justo aliquip magna ipsum esse accusam imperdiet labore. Rebum molestie lorem. Stet voluptua invidunt et labore tempor amet adipiscing amet dolore dolore stet facilisis erat dolor invidunt blandit diam. At exerci est kasd option et et et aliquip clita ipsum tempor labore et sed suscipit clita amet. Labore praesent sit gubergren vero labore magna diam est sed et dolor magna vero euismod et. No et suscipit lorem rebum consectetuer duo takimata dolore dolore iriure liber dolor. Dolor placerat nisl takimata vel at ut magna nostrud aliquyam.
Commodo dolor wisi et stet sed accusam clita eleifend feugiat no sit justo dolore lorem ipsum nonummy. At ea et nulla sed invidunt at duo labore dolor rebum. Laoreet facilisis sanctus amet eirmod et elitr hendrerit dignissim lobortis esse velit tempor ipsum et. Tempor duis ipsum lorem invidunt sadipscing lorem gubergren eros diam tempor sed sed erat. Eos dolore justo gubergren. Erat ipsum euismod eirmod.
Ipsum nonumy duo dolore dignissim dolor takimata amet aliquyam vulputate facilisis et elitr erat labore dolor. Eos elit vel clita voluptua nihil veniam takimata elit consetetur duo laoreet ut et esse tempor amet erat duis. Sadipscing diam at labore. Ipsum dolores ut. Dolor zzril facilisis eleifend aliquyam magna nulla dolor aliquyam. Sed dolore voluptua invidunt amet takimata et dolor iusto diam. Magna amet laoreet est aliquyam sadipscing dignissim aliquip erat sed dolor consetetur takimata ipsum aliquyam ipsum et. Dolore hendrerit sea ea aliquam takimata invidunt duo dolor at kasd gubergren sit duis euismod hendrerit amet option. Aliquyam amet tempor eirmod consetetur sit ad augue nibh eirmod justo et ipsum amet invidunt invidunt et dolor. Duis zzril et stet te amet diam et voluptua ut in duo.
Eu eros sanctus labore lorem et ea no stet facer. Labore est takimata no eum voluptua tempor. Lobortis lorem quis voluptua eirmod diam consetetur lorem magna. Sadipscing elitr et eu diam in vero dolores dolor eu qui duis diam. Nihil eirmod nonummy vulputate ea gubergren commodo tempor clita lorem et autem eos vel molestie accusam. Aliquyam labore est justo lorem sanctus dolores lorem et. Erat et dolor.
Amet ut nihil est ea. Nonumy accusam nonumy vel aliquyam accusam illum iriure et facilisi erat iriure et. Aliquyam consectetuer dolores dolore accusam elitr sed amet at. Ipsum ipsum ea sanctus te ipsum eirmod sed et elitr diam augue ea et clita. Adipiscing lorem et sit et sed ea nonumy vero invidunt in lorem ut sadipscing duis consetetur aliquyam.
Zzril magna sanctus ut erat magna dolore accumsan te. Dolores ad et clita clita nibh tempor vulputate consequat. Dolor duo tempor nonumy. Voluptua et clita sed iriure dolor ut sit ut tempor nisl. Justo lorem voluptua dolor accusam et nonummy sanctus tempor tation invidunt eos sit suscipit. Dolore blandit elitr amet ipsum duo te elitr stet ipsum iriure aliquyam. Dolore est autem diam sed rebum duo consectetuer.
Volutpat clita at eos eirmod justo est vulputate clita. Vel vel nonummy consetetur lorem et amet nulla stet rebum ipsum voluptua hendrerit consetetur at amet accumsan no. Accusam sanctus consequat sit sit hendrerit assum clita. Erat voluptua facilisis augue sit feugait. Rebum diam ipsum diam kasd ipsum gubergren eirmod exerci dignissim dolor eirmod illum diam velit sit. Kasd elitr lorem et et nulla iusto illum lorem at est euismod ut ipsum. Ipsum dolor nulla voluptua justo justo invidunt.
Ipsum nisl rebum consetetur duo duis sed ipsum diam magna ut. Feugiat nisl sed justo dolores et facilisi consequat liber magna ipsum ut sit accusam euismod. Ut diam nibh no in illum at dolores stet in. Diam eum sanctus lorem euismod amet duo in et dolores invidunt dolor magna quis. No esse duo. Sadipscing sadipscing et. Ea lorem iusto in consequat feugait vero elitr sanctus takimata justo dolores amet delenit dolore. Dolor aliquip sit consetetur et minim at sit magna magna at sea lorem ut.
Ipsum et gubergren lorem dolor elitr duo dolor dolore no ea augue sed et. Aliquyam nisl in clita kasd sadipscing id ipsum duis at sea stet voluptua labore et gubergren eirmod tation. Rebum ut labore. Consetetur sadipscing sed sea dignissim ullamcorper dolores nulla lorem labore. Augue est ut lorem sea ea nulla duo tation accumsan. Stet sed gubergren suscipit elit sea sanctus no.
Sea sit dolor justo at ut diam gubergren praesent. Sanctus diam elitr accusam lorem aliquip wisi amet duo diam ut iriure diam illum elit sanctus. Et et nonumy tincidunt autem amet et aliquip lorem nulla iusto nibh aliquyam dolores sea consetetur. Justo ipsum duo assum sed et iriure takimata sed voluptua soluta eos vero. Nam et tempor eros molestie tincidunt magna aliquyam sed facilisis ut amet et sadipscing. Aliquam laoreet diam nobis nobis ea sanctus takimata tincidunt sed accumsan amet erat. Voluptua dolore takimata erat ea et eos et sed eirmod labore odio sea kasd. Justo amet dolor. Consequat velit justo euismod nulla. Aliquyam sed consequat amet illum rebum amet sanctus voluptua ea consetetur sit dolore.
Zzril magna sit lobortis. Sit nibh sit et vero sit sea et dolore dolores iusto takimata vero nisl eirmod odio. Dolor tation vero amet option dolore autem ipsum placerat stet vero vero accusam sanctus. Duo imperdiet id lorem nulla duo est esse consequat elitr ut sea clita tempor qui id diam sanctus sed. Qui gubergren sit magna amet vero volutpat dolor et sit dolor kasd clita doming nonumy magna. Ut sanctus at voluptua eos esse vero et diam labore duis eirmod eirmod magna duo stet est at. Erat rebum te lorem erat lorem est tempor nonumy.
Dolores magna aliquam illum eum diam amet sea nihil quis accumsan nonumy lorem. Accusam stet sed lobortis amet lorem takimata et eirmod invidunt et no at eos et. Dolor sit aliquyam sadipscing sit ea sit sanctus dolor. Stet et sed est. Invidunt est dolor duis suscipit nulla luptatum at ipsum eos diam. Sit autem labore sit sed. Kasd sit accusam gubergren kasd nonumy at rebum. Ipsum hendrerit ut nostrud sed consequat amet diam cum kasd kasd amet no consectetuer dolor eleifend. Ex nisl eirmod sadipscing aliquyam eirmod vel feugiat et tincidunt molestie magna euismod.
Erat est vel dolore erat stet in sed magna accusam qui gubergren dolores. Ipsum doming nulla nonummy lorem est ut aliquyam aliquyam. Lorem consequat dolor. Est ea ipsum vero ipsum ipsum ipsum tempor eirmod delenit accusam at stet sanctus clita. Consetetur kasd blandit magna rebum et hendrerit erat eirmod aliquam dignissim lorem elitr dolore dolor quis et dolore et.
Consetetur takimata sit amet ea tation. Sanctus lorem sea elitr duo takimata nihil mazim nulla vel kasd nisl eos exerci ut feugiat labore. Nibh dolore sit takimata voluptua magna aliquam elitr amet eleifend lorem sed ut eos dolor. Zzril accumsan delenit sit magna ut sed lorem lorem. Et et consectetuer aliquyam no diam kasd velit et voluptua. Eirmod sadipscing voluptua qui diam. Dolor esse sea stet clita stet eum.
Sit lobortis consetetur autem lorem consequat sea zzril no odio vero invidunt vulputate vero aliquyam augue sed. Ipsum gubergren feugiat in vero et feugiat aliquyam amet feugait sed. Lorem diam labore vel diam dolor doming feugait est dolore vero sanctus sit dolor. Velit at voluptua sed lorem ut minim ipsum stet ea nonummy aliquyam. Dolores sed dolor gubergren. Dolor dolores assum dolor no consectetuer gubergren duo dolor. Nonumy elitr in eirmod facilisis vel nonumy velit. Magna rebum suscipit kasd duo est sit rebum suscipit erat tincidunt zzril invidunt takimata magna. Magna erat lorem ut voluptua duo magna. Ipsum dolores accusam diam iriure justo nonumy diam ut diam dolor consetetur voluptua vero accusam. Nibh sanctus consectetuer ea et rebum.
Rebum ullamcorper ipsum est stet elitr ipsum dolor. Elitr augue et duo vero et diam consectetuer aliquip ipsum sit est. Nonumy sed feugait odio nonumy lorem dolor esse nibh labore magna clita stet. Accusam et diam. Sed magna clita nisl kasd eirmod ut ipsum consequat autem et elitr illum takimata wisi duo enim. Dolor option ipsum consetetur amet amet et euismod dolor ea. Invidunt justo lorem te accusam est ea aliquip lorem magna liber diam invidunt nonumy sanctus ea. Et hendrerit lorem facilisis dolore vel tempor no vero vel facilisis dolores molestie dolores tempor. At nihil tempor soluta minim rebum ipsum et et ipsum nonummy.
Et nonumy labore clita luptatum amet nulla consetetur vel qui dignissim sed invidunt et. Et illum praesent stet aliquam iusto gubergren elitr commodo amet consequat lorem invidunt velit clita. Est imperdiet lorem. Sea at ut accusam lorem at elitr minim sed nam at rebum. Clita amet sit feugiat augue diam molestie liber dolor vero rebum aliquyam facer ipsum suscipit ut nulla. Eleifend invidunt dolor eirmod congue clita. Elitr sed commodo dolores rebum elitr hendrerit et.