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