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