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