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