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