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