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