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