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