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