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