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