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