You are viewing a plain text version of this content. The canonical link for it is here.
Posted to fop-commits@xmlgraphics.apache.org by pi...@apache.org on 2003/03/06 00:15:26 UTC
cvs commit: xml-fop/src/documentation/content/xdocs pdfencryption.xml book.xml running.xml
pietsch 2003/03/05 15:15:25
Modified: src/documentation/content/xdocs book.xml running.xml
Added: src/documentation/content/xdocs pdfencryption.xml
Log:
Added documentation for PDF encryption to xdocs.
Revision Changes Path
1.9 +1 -0 xml-fop/src/documentation/content/xdocs/book.xml
Index: book.xml
===================================================================
RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/book.xml,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- book.xml 27 Jan 2003 20:59:55 -0000 1.8
+++ book.xml 5 Mar 2003 23:15:25 -0000 1.9
@@ -38,6 +38,7 @@
<menu-item label="SVG" href="svg.html"/>
<menu-item label="Extensions" href="extensions.html"/>
<menu-item label="Fonts" href="fonts.html"/>
+ <menu-item label="PDF encryption" href="pdfencryption.html"/>
<menu-item label="Configuration" href="configuration.html"/>
</menu>
1.5 +68 -62 xml-fop/src/documentation/content/xdocs/running.xml
Index: running.xml
===================================================================
RCS file: /home/cvs/xml-fop/src/documentation/content/xdocs/running.xml,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- running.xml 18 Jan 2003 18:04:58 -0000 1.4
+++ running.xml 5 Mar 2003 23:15:25 -0000 1.5
@@ -3,77 +3,83 @@
"http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
<document>
-<header>
- <title>Running FOP</title>
-</header>
+ <header>
+ <title>Running FOP</title>
+ </header>
-<body>
- <section>
- <title>Installation</title>
+ <body>
<section>
- <title>Overview</title>
- <p>The following software must be installed:</p>
- <ul>
- <li>Java 1.2.x or later.</li>
- <li>FOP. The <jump href="http://xml.apache.org/fop/download.html">FOP distribution</jump> includes all libraries that you will need to run a basic FOP installation. These can be found in the xml-fop/lib directory. These libraries include the following:</li>
+ <title>Installation</title>
+ <section>
+ <title>Overview</title>
+ <p>The following software must be installed:</p>
<ul>
- <li>Apache <jump href="http://xml.apache.org/xerces-j/index.html">Xerces-J</jump> for XML parsing. You can use other XML parsers which support SAX and DOM.</li>
- <li>Apache Xalan, an XSLT processor.</li>
- <li>Apache <jump href="http://xml.apache.org/batik/">Batik</jump>, an SVG library.</li>
+ <li>Java 1.2.x or later.</li>
+ <li>FOP. The <jump href="http://xml.apache.org/fop/download.html">FOP distribution</jump> includes all libraries that you will need to run a basic FOP installation. These can be found in the xml-fop/lib directory. These libraries include the following:</li>
+ <ul>
+ <li>Apache <jump href="http://xml.apache.org/xerces-j/index.html">Xerces-J</jump> for XML parsing. You can use other XML parsers which support SAX and DOM.</li>
+ <li>Apache Xalan, an XSLT processor.</li>
+ <li>Apache <jump href="http://xml.apache.org/batik/">Batik</jump>, an SVG library.</li>
+ </ul>
+ <li>Optional Libraries</li>
</ul>
- <li>Optional Libraries</li>
- </ul>
+ </section>
+ <section>
+ <title>Instructions</title>
+ <p>Basic FOP installation consists of first unzipping the <code>.gz</code> file that is the distribution medium, then unarchiving the resulting <code>.tar</code> file in a directory/folder that is convenient on your system. Please consult your operating system documentation or Zip application software documentation for instructions specific to your site.</p>
+ </section>
+ <section>
+ <title>Problems</title>
+ <p>Some Mac OSX users have experienced filename truncation problems using Stuffit to unzip and unarchive their distribution media. This is a legacy of older Mac operating systems, which had a 31-character pathname limit. Several Mac OSX users have recommended that Mac OSX users use the shell command <code>tar -xzf</code> instead.</p>
+ </section>
</section>
<section>
- <title>Instructions</title>
- <p>Basic FOP installation consists of first unzipping the <code>.gz</code> file that is the distribution medium, then unarchiving the resulting <code>.tar</code> file in a directory/folder that is convenient on your system. Please consult your operating system documentation or Zip application software documentation for instructions specific to your site.</p>
- </section>
- <section>
- <title>Problems</title>
- <p>Some Mac OSX users have experienced filename truncation problems using Stuffit to unzip and unarchive their distribution media. This is a legacy of older Mac operating systems, which had a 31-character pathname limit. Several Mac OSX users have recommended that Mac OSX users use the shell command <code>tar -xzf</code> instead.</p>
- </section>
- </section>
+ <title>Starting FOP as a standalone application</title>
+ <p>Review the batch file fop.bat or the shell script fop.sh to see how FOP is invoked.</p>
+ <p>The standard scripts for starting FOP require that the environment variable JAVA_HOME be set to a path pointing to the appropriate Java installation on your system. Macintosh OSX includes a Java environment as part of its distribution. We are told by Mac OSX users that the path to use in this case is <code>/Library/Java/Home</code>. <strong>Caveat: </strong>We suspect that, as Apple releases new Java environments and as FOP upgrades the minimum Java requirements, the two will inevitably not match on some systems. Please see <jump href="http://developer.apple.com/java/faq">Java on Mac OSX FAQ</jump> for information as it becomes available.</p>
+ <p><code>fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-ps|-txt|-svg|-at|-print] <outfile></code></p>
+ <p>[OPTIONS]</p>
+ <source>
+ -d debug mode
+ -x dump configuration settings
+ -q quiet mode
+ -c cfg.xml use additional configuration file cfg.xml
+ -l lang the language to use for user information
+ -s (-at output) omit tree below block areas
+ -txt.encoding (-txt output encoding use the encoding for the output file.
+ The encoding must be a valid java encoding.
+ -o [password] pdf file will be encrypted with option owner password
+ -u [password] pdf file will be encrypted with option user password
+ -noprint pdf file will be encrypted without printing permission
+ -nocopy pdf file will be encrypted without copy content permission
+ -noedit pdf file will be encrypted without edit content permission
+ -noannotations pdf file will be encrypted without edit annotation permission</source>
+ <p>[INPUT]</p>
+ <source> infile XSLFO input file (the same as the next)
+ -fo infile xsl:fo input file
+ -xml infile xml input file, must be used together with -xsl
+ -xsl stylesheet xslt stylesheet</source>
- <section>
- <title>Starting FOP as a standalone application</title>
- <p>Review the batch file fop.bat or the shell script fop.sh to see how FOP is invoked.</p>
- <p>The standard scripts for starting FOP require that the environment variable JAVA_HOME be set to a path pointing to the appropriate Java installation on your system. Macintosh OSX includes a Java environment as part of its distribution. We are told by Mac OSX users that the path to use in this case is <code>/Library/Java/Home</code>. <strong>Caveat: </strong>We suspect that, as Apple releases new Java environments and as FOP upgrades the minimum Java requirements, the two will inevitably not match on some systems. Please see <jump href="http://developer.apple.com/java/faq">Java on Mac OSX FAQ</jump> for information as it becomes available.</p>
- <p><code>fop [options] [-fo|-xml] infile [-xsl file] [-awt|-pdf|-mif|-pcl|-ps|-txt|-svg|-at|-print] <outfile></code></p>
- <p>[OPTIONS]</p>
- <source>
- -d debug mode<br/>
- -x dump configuration settings<br/>
- -q quiet mode<br/>
- -c cfg.xml use additional configuration file cfg.xml<br/>
- -l lang the language to use for user information<br/></source>
- <p>[INPUT]</p>
- <source>
- infile xsl:fo input file (the same as the next)<br/>
- -fo infile xsl:fo input file<br/>
- -xml infile xml input file, must be used together with -xsl<br/>
- -xsl stylesheet xslt stylesheet<br/></source>
-
- <p>[OUTPUT]</p>
- <source>
- outfile input will be rendered as pdf file into outfile<br/>
- -pdf outfile input will be rendered as pdf file (outfile req'd)<br/>
- -awt input will be displayed on screen<br/>
- -mif outfile input will be rendered as mif file (outfile req'd)<br/>
- -pcl outfile input will be rendered as pcl file (outfile req'd)<br/>
- -ps outfile input will be rendered as PostScript file (outfile req'd)<br/>
- -txt outfile input will be rendered as text file (outfile req'd)<br/>
+ <p>[OUTPUT]</p>
+ <source> outfile input will be rendered as pdf file into outfile
+ -pdf outfile input will be rendered as pdf file (outfile req'd)
+ -awt input will be displayed on screen
+ -mif outfile input will be rendered as mif file (outfile req'd)
+ -pcl outfile input will be rendered as pcl file (outfile req'd)
+ -ps outfile input will be rendered as PostScript file (outfile req'd)
+ -txt outfile input will be rendered as text file (outfile req'd)
-svg outfile input will be rendered as an svg slides file (outfile req'd)
-at outfile representation of area tree as XML (outfile req'd)
- -print input file will be rendered and sent to the printer<br/> see options with "-print help"<br/></source>
-
- <p>[Examples]</p>
- <source>
- fop foo.fo foo.pdf<br/>
- fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)<br/>
- fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf<br/>
- fop foo.fo -mif foo.mif<br/>
- fop foo.fo -print or Fop -print foo.fo<br/>
- fop foo.fo -awt<br/></source>
+ -print input file will be rendered and sent to the printer
+ see print specific options with "-print help"</source>
+ <p>[Examples]</p>
+ <source> fop foo.fo foo.pdf
+ fop -fo foo.fo -pdf foo.pdf (does the same as the previous line)
+ fop -xsl foo.xsl -xml foo.xml -pdf foo.pdf
+ fop foo.fo -mif foo.mif
+ fop foo.fo -print or Fop -print foo.fo
+ fop foo.fo -awt</source>
+ <p>PDF encryption is only available if FOP was compiled with encryption support <strong>and</strong> if compatible encryption support is availabe at run time. Currently, only the JCE is supported. Check the <link href="pdfencryption.html">Details</link>.</p>
</section>
<section>
1.1 xml-fop/src/documentation/content/xdocs/pdfencryption.xml
Index: pdfencryption.xml
===================================================================
<?xml version="1.0" standalone="no"?>
<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.1//EN"
"http://cvs.apache.org/viewcvs.cgi/*checkout*/xml-forrest/src/resources/schema/dtd/document-v11.dtd">
<document>
<header>
<title>PDF encryption.</title>
</header>
<body>
<section>
<title>Overview</title>
<p>
FOP supports encryption of PDF output, thanks to Patrick
C. Lankswert. This feature is commonly used to prevent unauthorized
printing, editing and copying text from the document or to forbid
annotations. It is also possible to ask the user for a password in order
to view the contents. Note that there already exist third party
applications which can decrypt an encrypted PDF without effort and allow
the aforementioned operations, therefore the degree of protection is
limited.
</p>
<p>
For further information about features and restrictions regarrding PDFF
encryption, look at the documentation coming with Adobe Acrobat or the
technial documentation on the Adobe web site.
</p>
</section>
<section>
<title>Usage</title>
<p>
Encryption is enabled by supplying an owner password with the
<code>-o</code> option. The owner password can be used to disregard
any restriction imposed on the PDF document. If no owner password has
been supplied but FOP was asked to apply some restrictions, a random
password is used.
</p>
<p>
A user password, supplied with the <code>-u</code> option, will
cause the PDF display software to ask the reader for this password in
order to view the contents of the document. If no user password was
supplied, viewing the content is not restricted.
</p>
<p>
Further restrictions can be imposed by using the
<code>-noprint</code>, <code>-nocopy</code>,
<code>-noedit</code> and <code>-noannotations</code> options,
which disable printing, copy text, editing in Adobe Acrobat and making
annotations, respectively.
</p>
</section>
<section>
<title>Environment</title>
<p>
In order to use PDF encryption, FOP has to be compiled with cryptography
support. Currently, only <link
href="http://java.sun.com/j2se/1.4/docs/guide/security/jce/JCERefGuide.html">JCE</link>
is supported. JCE is part of JDK 1.4. For earlier JDKs, it can be
installed separately, however, the build process currently recognizes
JCE from JDK 1.4.
</p>
<p>
Cryptography support must also be present at run time. In particular, a
provider for the RC4 cipher is needed. Unfortunately, the sample JCE
provider in Sun's JDK 1.4 does <strong>not</strong> provide RC4. If you
get a message saying
</p>
<source>"Cannot find any provider supporting RC4"</source>
<p>
you don't have the needed support.
</p>
<p>
There are several commercial and a few Open Source packages which
provide RC4. A pure Java implementation is produced by <link
href="http://www.bouncycastle.org/">The Legion of the Bouncy
Castle</link>. <link
href="http://www.mozilla.org/projects/security/pki/jss/">Mozilla
JSS</link> is an interface to a native implementation.
</p>
</section>
<section>
<title>Installing a crypto provider</title>
<p>
The pure Java implementation from <link
href="http://www.bouncycastle.org/">Bouncy Castle</link> is easy to
install.
</p>
<ol>
<li>
Download the binary distribution for your JDK version. If you have JDK
1.3 or earlier you must alos download a JCE from the same page.
</li>
<li>
Unpack the distribution. Add the jar file to your classpath. A
convenient way to use the jar on Linux is to simply drop it into the
FOP lib directory, it will be automatically picked up by
<code>fop.sh</code>. If you have JDK 1.3 or earlier don't forget to
install the JCE as well.
</li>
<li>
Open the <code>java.security</code> file and add<br/>
<code>security.provider.6=org.bouncycastle.jce.provider.BouncyCastleProvider</code>,<br/>
preferably at the end of the block defining the other crypto
providers. For JDK 1.4 this is detailed on <link href="http://java.sun.com/j2se/1.4/docs/guide/security/jce/JCERefGuide.html#InstallProvider">Sun's web site</link>.
</li>
</ol>
</section>
</body>
</document>
---------------------------------------------------------------------
To unsubscribe, e-mail: fop-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: fop-cvs-help@xml.apache.org