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