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