Repository: pdfbox-docs Updated Branches: refs/heads/asf-site 77707d017 -> 2590005c8
Site checkin for project Apache PDFBox Website Project: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/repo Commit: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/commit/2590005c Tree: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/tree/2590005c Diff: http://git-wip-us.apache.org/repos/asf/pdfbox-docs/diff/2590005c Branch: refs/heads/asf-site Commit: 2590005c8924688bd2c39b90f9179e438c491172 Parents: 77707d0 Author: Andreas Lehmkühler <andr...@lehmi.de> Authored: Fri Apr 20 06:39:51 2018 +0200 Committer: Andreas Lehmkühler <andr...@lehmi.de> Committed: Fri Apr 20 06:39:51 2018 +0200 ---------------------------------------------------------------------- content/1.8/architecture.html | 15 +++-- content/1.8/cookbook/documentcreation.html | 10 ++-- content/1.8/cookbook/encryption.html | 5 +- content/1.8/cookbook/fill-form-field.html | 25 ++++---- content/1.8/cookbook/pdfacreation.html | 20 ++++--- content/1.8/cookbook/pdfavalidation.html | 5 +- content/1.8/cookbook/rendering.html | 5 +- content/1.8/cookbook/textextraction.html | 10 ++-- .../1.8/cookbook/workingwithattachments.html | 5 +- content/1.8/cookbook/workingwithfonts.html | 15 +++-- content/1.8/cookbook/workingwithmetadata.html | 15 +++-- content/1.8/dependencies.html | 15 +++-- content/1.8/faq.html | 20 ++++--- content/2.0/cookbook/encryption.html | 5 +- content/2.0/dependencies.html | 20 ++++--- content/2.0/faq.html | 20 ++++--- content/2.0/getting-started.html | 10 ++-- content/2.0/migration.html | 50 +++++++++------- content/building.html | 15 +++-- content/codingconventions.html | 5 +- content/download.html | 62 +++++++++----------- content/siteupdate.html | 40 ++++++++----- 22 files changed, 225 insertions(+), 167 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/architecture.html ---------------------------------------------------------------------- diff --git a/content/1.8/architecture.html b/content/1.8/architecture.html index 7de7c76..ada5d88 100644 --- a/content/1.8/architecture.html +++ b/content/1.8/architecture.html @@ -273,19 +273,21 @@ doesnât provide the functionality needed.</p> <p>A page in a PDF document is represented with a COSDictionary. The entries that are available for a page can be seen in the PDF Reference and an example of a page looks like this:</p> -<div class="language-text highlighter-rouge"><div class="highlight"><pre class="highlight"><code><< +<div class="language-text highlighter-rouge"><pre class="highlight"><code><< /Type /Page /MediaBox [0 0 612 915] /Contents 56 0 R >> -</code></pre></div></div> +</code></pre> +</div> <p>The information within the dictionary can be accessed using the COS model</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">COSDictionary</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">COSDictionary</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> <span class="n">COSArray</span> <span class="n">mediaBox</span> <span class="o">=</span> <span class="o">(</span><span class="n">COSArray</span><span class="o">)</span><span class="n">page</span><span class="o">.</span><span class="na">getDictionaryObject</span><span class="o">(</span> <span class="s">"MediaBox"</span> <span class="o">);</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Width:"</span> <span class="o">+</span> <span class="n">mediaBox</span><span class="o">.</span><span class="na">get</span><span class="o">(</span> <span class="mi">3</span> <span class="o">)</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <p>As can be seen from that little example the COS model provides a low level API to access information within the PDF. In order to use the COS model successfully a good knowledge of @@ -303,10 +305,11 @@ available to access the attributes.</p> <p>The same code from above to get the page width can be rewritten to use PD Model classes.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="o">...;</span> <span class="n">PDRectangle</span> <span class="n">mediaBox</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">getMediaBox</span><span class="o">();</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Width:"</span> <span class="o">+</span> <span class="n">mediaBox</span><span class="o">.</span><span class="na">getWidth</span><span class="o">()</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <p>PD Model objects sit on top of COS model. Typically, the classes in the PD Model will only store a COS object and all setter/getter methods will modify data that is stored in the http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/documentcreation.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/documentcreation.html b/content/1.8/cookbook/documentcreation.html index 3744107..c2af53b 100644 --- a/content/1.8/cookbook/documentcreation.html +++ b/content/1.8/cookbook/documentcreation.html @@ -163,7 +163,7 @@ <p>This small sample shows how to create a new PDF document using PDFBox.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a new empty document</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create a new empty document</span> <span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="c1">// Create a new blank page and add it to the document</span> @@ -176,13 +176,14 @@ <span class="c1">// finally make sure that the document is properly</span> <span class="c1">// closed.</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="hello-world-using-a-pdf-base-font">Hello World Using a PDF Base Font</h2> <p>This small sample shows how to create a new document and print the text âHello Worldâ using one of the PDF base fonts.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> <span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDPage</span><span class="o">();</span> <span class="n">document</span><span class="o">.</span><span class="na">addPage</span><span class="o">(</span> <span class="n">page</span> <span class="o">);</span> @@ -206,7 +207,8 @@ <span class="c1">// Save the results and ensure that the document is properly closed:</span> <span class="n">document</span><span class="o">.</span><span class="na">save</span><span class="o">(</span> <span class="s">"Hello World.pdf"</span><span class="o">);</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/encryption.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/encryption.html b/content/1.8/cookbook/encryption.html index 24d4ccb..4207d0a 100644 --- a/content/1.8/cookbook/encryption.html +++ b/content/1.8/cookbook/encryption.html @@ -165,7 +165,7 @@ <p>This small sample shows how to encrypt a file so that it can be viewed, but not printed.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="s">"filename.pdf"</span><span class="o">);</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="s">"filename.pdf"</span><span class="o">);</span> <span class="c1">// Define the length of the encryption key.</span> <span class="c1">// Possible values are 40 or 128 (256 will be available in PDFBox 2.0).</span> @@ -185,7 +185,8 @@ <span class="n">doc</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="s">"filename-encrypted.pdf"</span><span class="o">);</span> <span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/fill-form-field.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/fill-form-field.html b/content/1.8/cookbook/fill-form-field.html index fd141e0..7a9ac02 100644 --- a/content/1.8/cookbook/fill-form-field.html +++ b/content/1.8/cookbook/fill-form-field.html @@ -165,48 +165,53 @@ be neccessary to walk through the tree to get an individual field.</p> <p>Load the PDF document.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java // load the document PDDocument pdfDocument = PDDocument.loadNonSeq(new File(... ), null); -</code></pre></div></div> +</code></pre> +</div> <p>Get the docoument catalog and the AcroForm which might be contained within.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java // get the document catalog PDDocumentCatalog docCatalog = pdfDocument.getDocumentCatalog(); PDAcroForm acroForm = docCatalog.getAcroForm(); -</code></pre></div></div> +</code></pre> +</div> <p>Retrieve an individual field and set its value.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java // as there might not be an AcroForm entry a null check is necessary if (acroForm != null) { PDField field = (PDField) acroForm.getField( "fieldName" ); field.setValue("new field value"); } -</code></pre></div></div> +</code></pre> +</div> <p>If a field is nested within the form tree a fully qualified name might be provided to access the field.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java // as there might not be an AcroForm entry a null check is neccessary if (acroForm != null) { PDField field = (PDField) acroForm.getField( "fieldsParentName.fieldName" ); field.setValue("new field value"); } -</code></pre></div></div> +</code></pre> +</div> <p>Save and close the filled out form.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java doc.save(filledForm); doc.close(); -</code></pre></div></div> +</code></pre> +</div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/pdfacreation.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/pdfacreation.html b/content/1.8/cookbook/pdfacreation.html index d0635d1..f717e63 100644 --- a/content/1.8/cookbook/pdfacreation.html +++ b/content/1.8/cookbook/pdfacreation.html @@ -170,9 +170,10 @@ document. The current example creates a valid PDF/A-1b document.</p> <p>The PDF/A specification enforces that the fonts used in the document are present in the PDF File. You have to load them. As an example:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">InputStream</span> <span class="n">fontStream</span> <span class="o">=</span> <span class="n">CreatePDFA</span><span class="o">.</span><span class="na">class</span><span class="o">.</span><span class="na">getResourceAsStream</span><span class="o">(</span><span class="s">"/org/apache/pdfbox/resources/ttf/ArialMT.ttf"</span><span class="o">);</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">InputStream</span> <span class="n">fontStream</span> <span class="o">=</span> <span class="n">CreatePDFA</span><span class="o">.</span><span class="na">class</span><span class="o">.</span><span class="na">getResourceAsStream</span><span class="o">(</span><span class="s">"/org/apache/pdfbox/resources/ttf/ArialMT.ttf"</span><span class="o">);</span> <span class="n">PDFont</span> <span class="n">font</span> <span class="o">=</span> <span class="n">PDTrueTypeFont</span><span class="o">.</span><span class="na">loadTTF</span><span class="o">(</span><span class="n">doc</span><span class="o">,</span> <span class="n">fontStream</span><span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="include-xmp-metadata-block">Include XMP Metadata Block</h2> @@ -180,21 +181,22 @@ have to load them. As an example:</p> of PDF/A specification reached by the document) must be present. These lines create the XMP metadata for a PDF/A-1b document:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">XMPMetadata</span> <span class="n">xmp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">XMPMetadata</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">XMPMetadata</span> <span class="n">xmp</span> <span class="o">=</span> <span class="k">new</span> <span class="n">XMPMetadata</span><span class="o">();</span> <span class="n">XMPSchemaPDFAId</span> <span class="n">pdfaid</span> <span class="o">=</span> <span class="k">new</span> <span class="n">XMPSchemaPDFAId</span><span class="o">(</span><span class="n">xmp</span><span class="o">);</span> <span class="n">xmp</span><span class="o">.</span><span class="na">addSchema</span><span class="o">(</span><span class="n">pdfaid</span><span class="o">);</span> <span class="n">pdfaid</span><span class="o">.</span><span class="na">setConformance</span><span class="o">(</span><span class="s">"B"</span><span class="o">);</span> <span class="n">pdfaid</span><span class="o">.</span><span class="na">setPart</span><span class="o">(</span><span class="mi">1</span><span class="o">);</span> <span class="n">pdfaid</span><span class="o">.</span><span class="na">setAbout</span><span class="o">(</span><span class="s">""</span><span class="o">);</span> <span class="n">metadata</span><span class="o">.</span><span class="na">importXMPMetadata</span><span class="o">(</span><span class="n">xmp</span><span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="include-color-profile">Include Color Profile</h2> <p>It is mandatory to include the color profile used by the document. Different profiles can be used. This example takes one present in pdfbox:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create output intent</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create output intent</span> <span class="n">InputStream</span> <span class="n">colorProfile</span> <span class="o">=</span> <span class="n">CreatePDFA</span><span class="o">.</span><span class="na">class</span><span class="o">.</span><span class="na">getResourceAsStream</span><span class="o">(</span><span class="s">"/org/apache/pdfbox/resources/pdfa/sRGB Color Space Profile.icm"</span><span class="o">);</span> <span class="n">PDOutputIntent</span> <span class="n">oi</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDOutputIntent</span><span class="o">(</span><span class="n">doc</span><span class="o">,</span> <span class="n">colorProfile</span><span class="o">);</span> <span class="n">oi</span><span class="o">.</span><span class="na">setInfo</span><span class="o">(</span><span class="s">"sRGB IEC61966-2.1"</span><span class="o">);</span> @@ -202,14 +204,16 @@ example takes one present in pdfbox:</p> <span class="n">oi</span><span class="o">.</span><span class="na">setOutputConditionIdentifier</span><span class="o">(</span><span class="s">"sRGB IEC61966-2.1"</span><span class="o">);</span> <span class="n">oi</span><span class="o">.</span><span class="na">setRegistryName</span><span class="o">(</span><span class="s">"http://www.color.org"</span><span class="o">);</span> <span class="n">cat</span><span class="o">.</span><span class="na">addOutputIntent</span><span class="o">(</span><span class="n">oi</span><span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="complete-example">Complete example</h2> <p>The complete example can be found in pdfbox-example. The source file is</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>src/main/java/org/apache/pdfbox/examples/pdfa/CreatePDFA.java +</code></pre> +</div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/pdfavalidation.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/pdfavalidation.html b/content/1.8/cookbook/pdfavalidation.html index 5814e3e..650cc87 100644 --- a/content/1.8/cookbook/pdfavalidation.html +++ b/content/1.8/cookbook/pdfavalidation.html @@ -164,7 +164,7 @@ Check Compliance with PDF/A-1b</p> <p>This small sample shows how to check the compliance of a file with the PDF/A-1b specification.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">ValidationResult</span> <span class="n">result</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">ValidationResult</span> <span class="n">result</span> <span class="o">=</span> <span class="kc">null</span><span class="o">;</span> <span class="n">PreflightParser</span> <span class="n">parser</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PreflightParser</span><span class="o">(</span><span class="n">args</span><span class="o">[</span><span class="mi">0</span><span class="o">]);</span> <span class="k">try</span> @@ -211,7 +211,8 @@ Check Compliance with PDF/A-1b</p> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">error</span><span class="o">.</span><span class="na">getErrorCode</span><span class="o">()</span> <span class="o">+</span> <span class="s">" : "</span> <span class="o">+</span> <span class="n">error</span><span class="o">.</span><span class="na">getDetails</span><span class="o">());</span> <span class="o">}</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="categories-of-validation-error">Categories of Validation Error</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/rendering.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/rendering.html b/content/1.8/cookbook/rendering.html index 41f0ac4..17afe84 100644 --- a/content/1.8/cookbook/rendering.html +++ b/content/1.8/cookbook/rendering.html @@ -163,7 +163,7 @@ <p>This small sample shows how to render (convert to images) a PDF document using PDFBox.</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>:::java +<div class="highlighter-rouge"><pre class="highlight"><code>:::java String filename = "YOURFILENAMEHERE.pdf"; // open the document @@ -197,7 +197,8 @@ } doc.close(); -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/textextraction.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/textextraction.html b/content/1.8/cookbook/textextraction.html index 95722d5..646ede8 100644 --- a/content/1.8/cookbook/textextraction.html +++ b/content/1.8/cookbook/textextraction.html @@ -176,8 +176,9 @@ org.apache.pdfbox.ExtractText.</p> Lucene to be able to index a PDF document it must first be converted to text. PDFBox provides a simple approach for adding PDF documents into a Lucene index.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">Document</span> <span class="n">luceneDocument</span> <span class="o">=</span> <span class="n">LucenePDFDocument</span><span class="o">.</span><span class="na">getDocument</span><span class="o">(</span> <span class="o">...</span> <span class="o">);</span> -</code></pre></div></div> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">Document</span> <span class="n">luceneDocument</span> <span class="o">=</span> <span class="n">LucenePDFDocument</span><span class="o">.</span><span class="na">getDocument</span><span class="o">(</span> <span class="o">...</span> <span class="o">);</span> +</code></pre> +</div> <p>Now that you hava a Lucene Document object, you can add it to the Lucene index just like you would if it had been created from a text or HTML file. The LucenePDFDocument automatically @@ -200,11 +201,12 @@ process. The simplest is to specify the range of pages that you want to be extra For example, to only extract text from the second and third pages of the PDF document you could do this:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDFTextStripper</span> <span class="n">stripper</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFTextStripper</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDFTextStripper</span> <span class="n">stripper</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFTextStripper</span><span class="o">();</span> <span class="n">stripper</span><span class="o">.</span><span class="na">setStartPage</span><span class="o">(</span> <span class="mi">2</span> <span class="o">);</span> <span class="n">stripper</span><span class="o">.</span><span class="na">setEndPage</span><span class="o">(</span> <span class="mi">3</span> <span class="o">);</span> <span class="n">stripper</span><span class="o">.</span><span class="na">writeText</span><span class="o">(</span> <span class="o">...</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <p>NOTE: The startPage and endPage properties of PDFTextStripper are 1 based and inclusive.</p> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/workingwithattachments.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/workingwithattachments.html b/content/1.8/cookbook/workingwithattachments.html index 721c3df..86495c7 100644 --- a/content/1.8/cookbook/workingwithattachments.html +++ b/content/1.8/cookbook/workingwithattachments.html @@ -183,7 +183,7 @@ attribute of the <code class="highlighter-rouge">PDComplexFileSpecification</cod menu. PDFBox allows attachments to be added to and extracted from PDF documents. Attachments are part of the named tree that is attached to the document catalog.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDEmbeddedFilesNameTreeNode</span> <span class="n">efTree</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDEmbeddedFilesNameTreeNode</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDEmbeddedFilesNameTreeNode</span> <span class="n">efTree</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDEmbeddedFilesNameTreeNode</span><span class="o">();</span> <span class="c1">//first create the file specification, which holds the embedded file</span> <span class="n">PDComplexFileSpecification</span> <span class="n">fs</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDComplexFileSpecification</span><span class="o">();</span> @@ -204,7 +204,8 @@ Attachments are part of the named tree that is attached to the document catalog. <span class="n">PDDocumentNameDictionary</span> <span class="n">names</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocumentNameDictionary</span><span class="o">(</span> <span class="n">doc</span><span class="o">.</span><span class="na">getDocumentCatalog</span><span class="o">()</span> <span class="o">);</span> <span class="n">names</span><span class="o">.</span><span class="na">setEmbeddedFiles</span><span class="o">(</span> <span class="n">efTree</span> <span class="o">);</span> <span class="n">doc</span><span class="o">.</span><span class="na">getDocumentCatalog</span><span class="o">().</span><span class="na">setNames</span><span class="o">(</span> <span class="n">names</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/workingwithfonts.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/workingwithfonts.html b/content/1.8/cookbook/workingwithfonts.html index c8dddf8..0761543 100644 --- a/content/1.8/cookbook/workingwithfonts.html +++ b/content/1.8/cookbook/workingwithfonts.html @@ -234,7 +234,7 @@ <p>This small sample shows how to create a new document and print the text âHello Worldâ using one of the PDF base fonts.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> <span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDPage</span><span class="o">();</span> <span class="n">document</span><span class="o">.</span><span class="na">addPage</span><span class="o">(</span> <span class="n">page</span> <span class="o">);</span> @@ -258,13 +258,14 @@ <span class="c1">// Save the results and ensure that the document is properly closed:</span> <span class="n">document</span><span class="o">.</span><span class="na">save</span><span class="o">(</span> <span class="s">"Hello World.pdf"</span><span class="o">);</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="hello-world-using-a-truetype-font">Hello World Using a TrueType Font</h2> <p>This small sample shows how to create a new document and print the text âHello Worldâ using a TrueType font.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> <span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDPage</span><span class="o">();</span> <span class="n">document</span><span class="o">.</span><span class="na">addPage</span><span class="o">(</span> <span class="n">page</span> <span class="o">);</span> @@ -288,7 +289,8 @@ <span class="c1">// Save the results and ensure that the document is properly closed:</span> <span class="n">document</span><span class="o">.</span><span class="na">save</span><span class="o">(</span> <span class="s">"Hello World.pdf"</span><span class="o">);</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <p>While it is recommended to embed all fonts for greatest portability not all PDF producer applications will do this. When displaying a PDF it is necessary to find an external font to use. @@ -302,7 +304,7 @@ use when no mapping exists.</p> <p>This small sample shows how to create a new document and print the text âHello Worldâ using a PostScript Type1 font.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="c1">// Create a document and add a page to it</span> <span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="n">PDPage</span> <span class="n">page</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDPage</span><span class="o">();</span> <span class="n">document</span><span class="o">.</span><span class="na">addPage</span><span class="o">(</span> <span class="n">page</span> <span class="o">);</span> @@ -326,7 +328,8 @@ use when no mapping exists.</p> <span class="c1">// Save the results and ensure that the document is properly closed:</span> <span class="n">document</span><span class="o">.</span><span class="na">save</span><span class="o">(</span> <span class="s">"Hello World.pdf"</span><span class="o">);</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/cookbook/workingwithmetadata.html ---------------------------------------------------------------------- diff --git a/content/1.8/cookbook/workingwithmetadata.html b/content/1.8/cookbook/workingwithmetadata.html index 83e3f0b..5ba9fec 100644 --- a/content/1.8/cookbook/workingwithmetadata.html +++ b/content/1.8/cookbook/workingwithmetadata.html @@ -171,7 +171,7 @@ Getting basic Metadata</p> <p>To set or retrieve basic information about the document the PDDocumentInformation object provides a high level API to that information:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocumentInformation</span> <span class="n">info</span> <span class="o">=</span> <span class="n">document</span><span class="o">.</span><span class="na">getDocumentInformation</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocumentInformation</span> <span class="n">info</span> <span class="o">=</span> <span class="n">document</span><span class="o">.</span><span class="na">getDocumentInformation</span><span class="o">();</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Page Count="</span> <span class="o">+</span> <span class="n">document</span><span class="o">.</span><span class="na">getNumberOfPages</span><span class="o">()</span> <span class="o">);</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Title="</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="na">getTitle</span><span class="o">()</span> <span class="o">);</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Author="</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="na">getAuthor</span><span class="o">()</span> <span class="o">);</span> @@ -182,7 +182,8 @@ provides a high level API to that information:</p> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Creation Date="</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="na">getCreationDate</span><span class="o">()</span> <span class="o">);</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Modification Date="</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="na">getModificationDate</span><span class="o">());</span> <span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span> <span class="s">"Trapped="</span> <span class="o">+</span> <span class="n">info</span><span class="o">.</span><span class="na">getTrapped</span><span class="o">()</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="accessing-pdf-metadata">Accessing PDF Metadata</h2> @@ -193,19 +194,20 @@ See Adobe Documentation: XMP Specification</p> <p>PDF documents can have XML metadata associated with certain objects within a PDF document. For example, the following PD Model objects have the ability to contain metadata:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>PDDocumentCatalog +<div class="highlighter-rouge"><pre class="highlight"><code>PDDocumentCatalog PDPage PDXObject PDICCBased PDStream -</code></pre></div></div> +</code></pre> +</div> <p>The metadata that is stored in PDF objects conforms to the XMP specification, it is recommended that you review that specification. Currently there is no high level API for managing the XML metadata, PDFBox uses standard java InputStream/OutputStream to retrieve or set the XML metadata.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span> <span class="o">...</span> <span class="o">);</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span> <span class="o">...</span> <span class="o">);</span> <span class="n">PDDocumentCatalog</span> <span class="n">catalog</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="na">getDocumentCatalog</span><span class="o">();</span> <span class="n">PDMetadata</span> <span class="n">metadata</span> <span class="o">=</span> <span class="n">catalog</span><span class="o">.</span><span class="na">getMetadata</span><span class="o">();</span> @@ -216,7 +218,8 @@ or set the XML metadata.</p> <span class="n">InputStream</span> <span class="n">newXMPData</span> <span class="o">=</span> <span class="o">...;</span> <span class="n">PDMetadata</span> <span class="n">newMetadata</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDMetadata</span><span class="o">(</span><span class="n">doc</span><span class="o">,</span> <span class="n">newXMLData</span><span class="o">,</span> <span class="kc">false</span> <span class="o">);</span> <span class="n">catalog</span><span class="o">.</span><span class="na">setMetadata</span><span class="o">(</span> <span class="n">newMetadata</span> <span class="o">);</span> -</code></pre></div></div> +</code></pre> +</div> </div> </div> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/dependencies.html ---------------------------------------------------------------------- diff --git a/content/1.8/dependencies.html b/content/1.8/dependencies.html index 8f8e975..baf112e 100644 --- a/content/1.8/dependencies.html +++ b/content/1.8/dependencies.html @@ -190,12 +190,13 @@ included in the Java platform.</p> <p>To add the pdfbox, fontbox, jempbox and commons-logging jars to your application, the easiest thing is to declare the Maven dependency shown below. This gives you the main pdfbox library directly and the other required jars as transitive dependencies.</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.apache.pdfbox<span class="nt"></groupId></span> <span class="nt"><artifactId></span>pdfbox<span class="nt"></artifactId></span> <span class="nt"><version></span>...<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <p>Set the version field to the latest stable PDFBox version.</p> @@ -218,7 +219,7 @@ pdfbox library directly and the other required jars as transitive dependencies.< <p>The most notable such optional feature is support for PDF encryption. Instead of implementing its own encryption algorithms, PDFBox uses libraries from the <a href="http://www.bouncycastle.org/">Legion of the Bouncy Castle</a>. Both the bcprov and bcmail libraries are needed and can be included using the Maven dependencies shown below.</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.bouncycastle<span class="nt"></groupId></span> <span class="nt"><artifactId></span>bcprov-jdk15<span class="nt"></artifactId></span> <span class="nt"><version></span>1.44<span class="nt"></version></span> @@ -228,19 +229,21 @@ pdfbox library directly and the other required jars as transitive dependencies.< <span class="nt"><artifactId></span>bcmail-jdk15<span class="nt"></artifactId></span> <span class="nt"><version></span>1.44<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <h4 id="support-for-bidirectional-languages">Support for Bidirectional Languages</h4> <p>Another important optional feature is support for bidirectional languages like Arabic. PDFBox uses the ICU4J library from the <a href="http://site.icu-project.org/">International Components for Unicode</a> (ICU) project to support such languages in PDF documents. To add the ICU4J jar to your project, use the following Maven dependency.</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>com.ibm.icu<span class="nt"></groupId></span> <span class="nt"><artifactId></span>icu4j<span class="nt"></artifactId></span> <span class="nt"><version></span>3.8<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <p>PDFBox also contains extra support for use with the <a href="http://lucene.apache.org/">Lucene</a> and <a href="http://ant.apache.org/">Ant</a> projects. Since in these cases PDFBox is just an add-on feature to these projects, you should first set up your application to use Lucene or Ant and then add PDFBox support as described on this page.</p> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/1.8/faq.html ---------------------------------------------------------------------- diff --git a/content/1.8/faq.html b/content/1.8/faq.html index 851ce9c..06c34e6 100644 --- a/content/1.8/faq.html +++ b/content/1.8/faq.html @@ -182,22 +182,25 @@ <p><a name="log4j"></a></p> <h3 id="i-am-getting-the-below-log4j-warning-message-how-do-i-remove-it">I am getting the below Log4J warning message, how do I remove it?</h3> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>log4j:WARN No appenders could be found for logger (org.apache.pdfbox.util.ResourceLoader). +<div class="highlighter-rouge"><pre class="highlight"><code>log4j:WARN No appenders could be found for logger (org.apache.pdfbox.util.ResourceLoader). log4j:WARN Please initialize the log4j system properly. -</code></pre></div></div> +</code></pre> +</div> <p>This message means that you need to configure the log4j logging system. See the <a href="http://logging.apache.org/log4j/1.2/manual.html">log4j documentation</a> for more information.</p> <p>PDFBox comes with a sample log4j configuration file. To use it you set a system property like this</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>java -Dlog4j.configuration=log4j.xml org.apache.pdfbox.ExtractText <PDF-file> <output-text-file> -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>java -Dlog4j.configuration=log4j.xml org.apache.pdfbox.ExtractText <PDF-file> <output-text-file> +</code></pre> +</div> <p>If this is not working for you then you may have to specify the log4j config file using a URL path, like this:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>log4j.configuration=file:///<path to config file> -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>log4j.configuration=file:///<path to config file> +</code></pre> +</div> <p><a name="threadsafe"></a></p> <h3 id="is-pdfbox-thread-safe">Is PDFBox thread safe?</h3> @@ -213,7 +216,7 @@ donât then the document will not be closed properly. Also, you must close all PDDocument objects that get created. The following code creates <strong>two</strong> PDDocument objects; one from the ânew PDDocument()â and the second by the load method.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="k">try</span> <span class="o">{</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span> <span class="s">"my.pdf"</span> <span class="o">);</span> @@ -225,7 +228,8 @@ PDDocument objects; one from the ânew PDDocument()â and the second by the lo <span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="o">}</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="text-extraction-1">Text Extraction</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/2.0/cookbook/encryption.html ---------------------------------------------------------------------- diff --git a/content/2.0/cookbook/encryption.html b/content/2.0/cookbook/encryption.html index e2bfe17..f1dfbd7 100644 --- a/content/2.0/cookbook/encryption.html +++ b/content/2.0/cookbook/encryption.html @@ -111,7 +111,7 @@ <p>This small sample shows how to encrypt a file so that it can be viewed, but not printed.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">"filename.pdf"</span><span class="o">));</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="s">"filename.pdf"</span><span class="o">));</span> <span class="c1">// Define the length of the encryption key.</span> <span class="c1">// Possible values are 40, 128 or 256.</span> @@ -131,7 +131,8 @@ <span class="n">doc</span><span class="o">.</span><span class="na">save</span><span class="o">(</span><span class="s">"filename-encrypted.pdf"</span><span class="o">);</span> <span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> </section> <aside> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/2.0/dependencies.html ---------------------------------------------------------------------- diff --git a/content/2.0/dependencies.html b/content/2.0/dependencies.html index 811408d..2f88fc7 100644 --- a/content/2.0/dependencies.html +++ b/content/2.0/dependencies.html @@ -135,12 +135,13 @@ included in the Java platform.</p> <h3 id="include-dependencies-using-maven">Include Dependencies Using Maven</h3> <p>To add the pdfbox, fontbox, xmpbox and commons-logging jars to your application, the easiest thing is to declare the Maven dependency shown below. This gives you the main pdfbox library directly and the other required jars as transitive dependencies.</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.apache.pdfbox<span class="nt"></groupId></span> <span class="nt"><artifactId></span>pdfbox<span class="nt"></artifactId></span> <span class="nt"><version></span>...<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <p>Set the version field to the latest stable PDFBox version.</p> @@ -164,18 +165,19 @@ included in the Java platform.</p> <p>To include the JBIG2 library the following part can be included in your project pom.xml:</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.apache.pdfbox<span class="nt"></groupId></span> <span class="nt"><artifactId></span>jbig2-imageio<span class="nt"></artifactId></span> <span class="nt"><version></span>3.0.0<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <h3 id="encryption-and-signing">Encryption and Signing</h3> <p>Encrypting and sigining PDFs requires the <em>bcprov</em>, <em>bcmail</em> and <em>bcpkix</em> libraries from the <a href="http://www.bouncycastle.org/">Legion of the Bouncy Castle</a>. These can be included in your Maven project using the following dependencies:</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.bouncycastle<span class="nt"></groupId></span> <span class="nt"><artifactId></span>bcprov-jdk15on<span class="nt"></artifactId></span> <span class="nt"><version></span>1.54<span class="nt"></version></span> @@ -192,14 +194,16 @@ included in the Java platform.</p> <span class="nt"><artifactId></span>bcpkix-jdk15on<span class="nt"></artifactId></span> <span class="nt"><version></span>1.54<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <h3 id="java-cryptography-extension-jce">Java Cryptography Extension (JCE)</h3> <p>256-bit AES encryption requires a JDK with âunlimited strengthâ cryptography, which requires extra files to be installed. For JDK 7, see <a href="http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html">Java Cryptography Extension (JCE)</a>. If these files are not installed, building PDFBox will throw an exception with the following message:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>JCE unlimited strength jurisdiction policy files are not installed -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>JCE unlimited strength jurisdiction policy files are not installed +</code></pre> +</div> <h2 id="dependencies-for-ant-builds">Dependencies for Ant Builds</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/2.0/faq.html ---------------------------------------------------------------------- diff --git a/content/2.0/faq.html b/content/2.0/faq.html index a951f27..19a70bb 100644 --- a/content/2.0/faq.html +++ b/content/2.0/faq.html @@ -111,22 +111,25 @@ <h3 id="i-am-getting-the-below-log4j-warning-message-how-do-i-remove-it">I am getting the below Log4J warning message, how do I remove it?</h3> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>log4j:WARN No appenders could be found for logger (org.apache.pdfbox.util.ResourceLoader). +<div class="highlighter-rouge"><pre class="highlight"><code>log4j:WARN No appenders could be found for logger (org.apache.pdfbox.util.ResourceLoader). log4j:WARN Please initialize the log4j system properly. -</code></pre></div></div> +</code></pre> +</div> <p>This message means that you need to configure the log4j logging system. See the <a href="http://logging.apache.org/log4j/1.2/manual.html">log4j documentation</a> for more information.</p> <p>PDFBox comes with a sample log4j configuration file. To use it you set a system property like this</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>java -Dlog4j.configuration=log4j.xml org.apache.pdfbox.ExtractText <PDF-file> <output-text-file> -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>java -Dlog4j.configuration=log4j.xml org.apache.pdfbox.ExtractText <PDF-file> <output-text-file> +</code></pre> +</div> <p>If this is not working for you then you may have to specify the log4j config file using a URL path, like this:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>log4j.configuration=file:///<path to config file> -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>log4j.configuration=file:///<path to config file> +</code></pre> +</div> <p><a name="threadsafe"></a></p> @@ -146,7 +149,7 @@ donât then the document will not be closed properly. Also, you must close all PDDocument objects that get created. The following code creates <strong>two</strong> PDDocument objects; one from the ânew PDDocument()â and the second by the load method.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">doc</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDDocument</span><span class="o">();</span> <span class="k">try</span> <span class="o">{</span> <span class="n">doc</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span> <span class="s">"my.pdf"</span> <span class="o">);</span> @@ -158,7 +161,8 @@ PDDocument objects; one from the ânew PDDocument()â and the second by the lo <span class="n">doc</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> <span class="o">}</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="font-handling">Font Handling</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/2.0/getting-started.html ---------------------------------------------------------------------- diff --git a/content/2.0/getting-started.html b/content/2.0/getting-started.html index 350d31b..092b391 100644 --- a/content/2.0/getting-started.html +++ b/content/2.0/getting-started.html @@ -109,12 +109,13 @@ <p>To use the latest release youâll need to add the following dependency:</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><dependency></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><dependency></span> <span class="nt"><groupId></span>org.apache.pdfbox<span class="nt"></groupId></span> <span class="nt"><artifactId></span>pdfbox<span class="nt"></artifactId></span> <span class="nt"><version></span>2.0.4<span class="nt"></version></span> <span class="nt"></dependency></span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="pdfbox-and-java-8">PDFBox and Java 8</h2> @@ -137,8 +138,9 @@ https://bugs.openjdk.java.net/browse/JDK-8041125</p> <p>PDFBox 2.0.4 introduced a new command line setting</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code> -Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code> -Dorg.apache.pdfbox.rendering.UsePureJavaCMYKConversion=true +</code></pre> +</div> <p>which may improve the performance of rendering PDFs on some systems especially if there are a lot of images on a page.</p> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/2.0/migration.html ---------------------------------------------------------------------- diff --git a/content/2.0/migration.html b/content/2.0/migration.html index 443bc0a..bbda7e0 100644 --- a/content/2.0/migration.html +++ b/content/2.0/migration.html @@ -169,8 +169,9 @@ results when switching to PDFBox 2.0.0.</p> <p>TrueType fonts shall now be loaded using</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDType0Font</span><span class="o">.</span><span class="na">load</span> -</code></pre></div></div> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDType0Font</span><span class="o">.</span><span class="na">load</span> +</code></pre> +</div> <p>to leverage that.</p> @@ -200,34 +201,37 @@ and so on. The <code class="highlighter-rouge">add</code> method now supports al <p>Prior to PDFBox 2.0 parsing the page content was done using</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDStream</span> <span class="n">contents</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">getContents</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDStream</span> <span class="n">contents</span> <span class="o">=</span> <span class="n">page</span><span class="o">.</span><span class="na">getContents</span><span class="o">();</span> <span class="n">PDFStreamParser</span> <span class="n">parser</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFStreamParser</span><span class="o">(</span><span class="n">contents</span><span class="o">.</span><span class="na">getStream</span><span class="o">());</span> <span class="n">parser</span><span class="o">.</span><span class="na">parse</span><span class="o">();</span> <span class="n">List</span><span class="o"><</span><span class="n">Object</span><span class="o">></span> <span class="n">tokens</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="na">getTokens</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <p>With PDFBox 2.0 the code is reduced to</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDFStreamParser</span> <span class="n">parser</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFStreamParser</span><span class="o">(</span><span class="n">page</span><span class="o">);</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDFStreamParser</span> <span class="n">parser</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFStreamParser</span><span class="o">(</span><span class="n">page</span><span class="o">);</span> <span class="n">parser</span><span class="o">.</span><span class="na">parse</span><span class="o">();</span> <span class="n">List</span><span class="o"><</span><span class="n">Object</span><span class="o">></span> <span class="n">tokens</span> <span class="o">=</span> <span class="n">parser</span><span class="o">.</span><span class="na">getTokens</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <p>In addition this also works if the page content is defined as an <strong>array of content streams</strong>.</p> <h3 id="iterating-pages">Iterating Pages</h3> <p>With PDFBox 2.0.0 the prefered way to iterate through the pages of a document is</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="k">for</span><span class="o">(</span><span class="n">PDPage</span> <span class="n">page</span> <span class="o">:</span> <span class="n">document</span><span class="o">.</span><span class="na">getPages</span><span class="o">())</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="k">for</span><span class="o">(</span><span class="n">PDPage</span> <span class="n">page</span> <span class="o">:</span> <span class="n">document</span><span class="o">.</span><span class="na">getPages</span><span class="o">())</span> <span class="o">{</span> <span class="o">...</span> <span class="o">(</span><span class="k">do</span> <span class="n">something</span><span class="o">)</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <h3 id="pdf-rendering">PDF Rendering</h3> <p>With PDFBox 2.0.0 <code class="highlighter-rouge">PDPage.convertToImage</code> and <code class="highlighter-rouge">PDFImageWriter</code> have been removed. Instead the new <code class="highlighter-rouge">PDFRenderer</code> class shall be used.</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="n">pdfFilename</span><span class="o">));</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDDocument</span> <span class="n">document</span> <span class="o">=</span> <span class="n">PDDocument</span><span class="o">.</span><span class="na">load</span><span class="o">(</span><span class="k">new</span> <span class="n">File</span><span class="o">(</span><span class="n">pdfFilename</span><span class="o">));</span> <span class="n">PDFRenderer</span> <span class="n">pdfRenderer</span> <span class="o">=</span> <span class="k">new</span> <span class="n">PDFRenderer</span><span class="o">(</span><span class="n">document</span><span class="o">);</span> <span class="kt">int</span> <span class="n">pageCounter</span> <span class="o">=</span> <span class="mi">0</span><span class="o">;</span> <span class="k">for</span> <span class="o">(</span><span class="n">PDPage</span> <span class="n">page</span> <span class="o">:</span> <span class="n">document</span><span class="o">.</span><span class="na">getPages</span><span class="o">())</span> @@ -239,7 +243,8 @@ and so on. The <code class="highlighter-rouge">add</code> method now supports al <span class="n">ImageIOUtil</span><span class="o">.</span><span class="na">writeImage</span><span class="o">(</span><span class="n">bim</span><span class="o">,</span> <span class="n">pdfFilename</span> <span class="o">+</span> <span class="s">"-"</span> <span class="o">+</span> <span class="o">(</span><span class="n">pageCounter</span><span class="o">++)</span> <span class="o">+</span> <span class="s">".png"</span><span class="o">,</span> <span class="mi">300</span><span class="o">);</span> <span class="o">}</span> <span class="n">document</span><span class="o">.</span><span class="na">close</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <p><code class="highlighter-rouge">ImageIOUtil</code> has been moved into the <code class="highlighter-rouge">org.apache.pdfbox.tools.imageio</code> package. This is in the <code class="highlighter-rouge">pdfbox-tools</code> download. If you are using maven, the <code class="highlighter-rouge">artifactId</code> has the same name.</p> @@ -270,19 +275,21 @@ https://bugs.openjdk.java.net/browse/JDK-8041125</p> <p>Users of <code class="highlighter-rouge">PDFPrinter.silentPrint()</code> should now use this code:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PrinterJob</span> <span class="n">job</span> <span class="o">=</span> <span class="n">PrinterJob</span><span class="o">.</span><span class="na">getPrinterJob</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PrinterJob</span> <span class="n">job</span> <span class="o">=</span> <span class="n">PrinterJob</span><span class="o">.</span><span class="na">getPrinterJob</span><span class="o">();</span> <span class="n">job</span><span class="o">.</span><span class="na">setPageable</span><span class="o">(</span><span class="k">new</span> <span class="n">PDFPageable</span><span class="o">(</span><span class="n">document</span><span class="o">));</span> <span class="n">job</span><span class="o">.</span><span class="na">print</span><span class="o">();</span> -</code></pre></div></div> +</code></pre> +</div> <p>While users of <code class="highlighter-rouge">PDFPrinter.print()</code> should now use this code:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PrinterJob</span> <span class="n">job</span> <span class="o">=</span> <span class="n">PrinterJob</span><span class="o">.</span><span class="na">getPrinterJob</span><span class="o">();</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PrinterJob</span> <span class="n">job</span> <span class="o">=</span> <span class="n">PrinterJob</span><span class="o">.</span><span class="na">getPrinterJob</span><span class="o">();</span> <span class="n">job</span><span class="o">.</span><span class="na">setPageable</span><span class="o">(</span><span class="k">new</span> <span class="n">PDFPageable</span><span class="o">(</span><span class="n">document</span><span class="o">));</span> <span class="k">if</span> <span class="o">(</span><span class="n">job</span><span class="o">.</span><span class="na">printDialog</span><span class="o">())</span> <span class="o">{</span> <span class="n">job</span><span class="o">.</span><span class="na">print</span><span class="o">();</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <p>Advanced use case examples can be found in th examples package under org/apache/pdfbox/examples/printing/Printing.java</p> @@ -290,7 +297,7 @@ https://bugs.openjdk.java.net/browse/JDK-8041125</p> <p>In 1.8, to get the text colors, one method was to pass an expanded .properties file to the PDFStripper constructor. To achieve the same in PDFBox 2.0 you can extend <code class="highlighter-rouge">PDFTextStripper</code>and add the following <code class="highlighter-rouge">Operators</code> to the constructor:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetStrokingColorSpace</span><span class="o">());</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetStrokingColorSpace</span><span class="o">());</span> <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetNonStrokingColorSpace</span><span class="o">());</span> <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetStrokingDeviceCMYKColor</span><span class="o">());</span> <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetNonStrokingDeviceCMYKColor</span><span class="o">());</span> @@ -302,7 +309,8 @@ in PDFBox 2.0 you can extend <code class="highlighter-rouge">PDFTextStripper</co <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetStrokingColorN</span><span class="o">());</span> <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetNonStrokingColor</span><span class="o">());</span> <span class="n">addOperator</span><span class="o">(</span><span class="k">new</span> <span class="n">SetNonStrokingColorN</span><span class="o">());</span> -</code></pre></div></div> +</code></pre> +</div> <h3 id="interactive-forms">Interactive Forms</h3> <p>Large parts of the support for interactive forms (AcroForms) have been rewritten. The most notable change from 1.8.x is that @@ -311,13 +319,14 @@ tree are now represented by the <code class="highlighter-rouge">PDNonTerminalFie <p>With PDFBox 2.0.0 the prefered way to iterate through the fields is now</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="n">PDAcroForm</span> <span class="n">form</span><span class="o">;</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="n">PDAcroForm</span> <span class="n">form</span><span class="o">;</span> <span class="o">...</span> <span class="k">for</span> <span class="o">(</span><span class="n">PDField</span> <span class="n">field</span> <span class="o">:</span> <span class="n">form</span><span class="o">.</span><span class="na">getFieldTree</span><span class="o">())</span> <span class="o">{</span> <span class="o">...</span> <span class="o">(</span><span class="k">do</span> <span class="n">something</span><span class="o">)</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <p>Most <code class="highlighter-rouge">PDField</code> subclasses now accept Java generic types such as <code class="highlighter-rouge">String</code> as parameters instead of the former <code class="highlighter-rouge">COSBase</code> subclasses.</p> @@ -335,8 +344,9 @@ annotations associated with a field.</p> <p>The ReplaceText example has been removed as it gave the incorrect illusion that text can be replaced easily. Words are often split, as seen by this excerpt of a content stream:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>[ (Do) -29 (c) -1 (umen) 30 (tation) ] TJ -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>[ (Do) -29 (c) -1 (umen) 30 (tation) ] TJ +</code></pre> +</div> <p>Other problems will appear with font subsets: for example, if only the glyphs for a, b and c are used, these would be encoded as hex 0, 1 and 2, so you wonât find âabcâ. Additionally, you canât replace âcâ with âdâ because it isnât part of the subset.</p> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/building.html ---------------------------------------------------------------------- diff --git a/content/building.html b/content/building.html index 40b30f3..ad41a09 100644 --- a/content/building.html +++ b/content/building.html @@ -165,9 +165,10 @@ <p>You can obtain the latest source of PDFBox from our <a href="http://pdfbox.apache.org/download.cgi">SVN repo</a> The current trunk is v3.0.0-SNAPSHOT. There is a seperate branch for the 1.8.x series. You can fetch the latest 2.0 trunk using Subversion:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>svn checkout http://svn.apache.org/repos/asf/pdfbox/trunk/ +<div class="highlighter-rouge"><pre class="highlight"><code>svn checkout http://svn.apache.org/repos/asf/pdfbox/trunk/ cd trunk -</code></pre></div></div> +</code></pre> +</div> <h2 id="build-dependencies">Build dependencies</h2> @@ -190,15 +191,17 @@ cd trunk <p>Building PDFBox 2.0 requires a JDK with âunlimited strengthâ cryptography, which requires extra files to be installed. For JDK 7, see <a href="http://www.oracle.com/technetwork/java/javase/downloads/jce-7-download-432124.html">Java Cryptography Extension (JCE)</a>. If these files are not installed, building PDFBox will fail the following test:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>TestPublicKeyEncryption.setUp:70 JCE unlimited strength jurisdiction policy files are not installed -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>TestPublicKeyEncryption.setUp:70 JCE unlimited strength jurisdiction policy files are not installed +</code></pre> +</div> <h2 id="building-with-maven">Building with Maven</h2> <p>In the root directory of PDFBox:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn clean install -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>mvn clean install +</code></pre> +</div> <hr /> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/codingconventions.html ---------------------------------------------------------------------- diff --git a/content/codingconventions.html b/content/codingconventions.html index bbee1a1..93bc632 100644 --- a/content/codingconventions.html +++ b/content/codingconventions.html @@ -312,7 +312,7 @@ <p>Hereâs an example of PDFBoxâs formatting style:</p> -<div class="language-java highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Foo</span> <span class="kd">extends</span> <span class="n">Bar</span> +<div class="language-java highlighter-rouge"><pre class="highlight"><code><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Foo</span> <span class="kd">extends</span> <span class="n">Bar</span> <span class="o">{</span> <span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span> <span class="n">args</span><span class="o">[])</span> <span class="o">{</span> @@ -329,7 +329,8 @@ <span class="o">}</span> <span class="o">}</span> <span class="o">}</span> -</code></pre></div></div> +</code></pre> +</div> <h2 id="eclipse-formatter">Eclipse Formatter</h2> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/download.html ---------------------------------------------------------------------- diff --git a/content/download.html b/content/download.html index e506972..92d7825 100644 --- a/content/download.html +++ b/content/download.html @@ -163,7 +163,7 @@ <ul> <li><a href="#20x">PDFBox 2.0.9 release</a></li> - <li><a href="#18x">PDFBox 1.8.13 release</a></li> + <li><a href="#18x">PDFBox 1.8.14 release</a></li> <li><a href="#JBIG2">JBIG2 ImageIO plugin 3.0.0 release</a></li> <li><a href="#oldreleases">Previous releases</a></li> <li><a href="#scm">Latest source from version control</a></li> @@ -258,68 +258,60 @@ Alternatively, <a href="https://www.apache.org/mirrors/">view the complete list </ul> <a name="18x"></a> -<h3>PDFBox 1.8.13</h3> +<h3>PDFBox 1.8.14</h3> <p> This is an incremental feature release based on the earlier `1.8.x` releases. - See the <a href="https://www.apache.org/dist/pdfbox/1.8.13/RELEASE-NOTES.txt">Release Notes</a> for more details. + See the <a href="https://www.apache.org/dist/pdfbox/1.8.14/RELEASE-NOTES.txt">Release Notes</a> for more details. </p> <p><strong>Source code including examples</strong></p> <ul> <li> - <a href="[preferred]pdfbox/1.8.13/pdfbox-1.8.13-src.zip">pdfbox-1.8.13-src.zip</a> 11MB, source archive - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13-src.zip.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13-src.zip.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13-src.zip.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/pdfbox-1.8.14-src.zip">pdfbox-1.8.14-src.zip</a> 11MB, source archive + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-1.8.14-src.zip.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-1.8.14-src.zip.SHA512">SHA512</a> </li> </ul> <p><strong>Command line tools</strong></p> <ul> <li> - <a href="[preferred]pdfbox/1.8.13/pdfbox-app-1.8.13.jar">pdfbox-app-1.8.13.jar</a> 10.6MB, pre-built PDFBox standalone binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-app-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-app-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-app-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/pdfbox-app-1.8.14.jar">pdfbox-app-1.8.14.jar</a> 10.6MB, pre-built PDFBox standalone binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-app-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-app-1.8.14.jar.SHA512">SHA512</a> </li> <li> - <a href="[preferred]pdfbox/1.8.13/preflight-app-1.8.13.jar">preflight-app-1.8.13.jar</a> 7.1MB, pre-built Preflight standalone binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-app-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-app-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-app-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/preflight-app-1.8.14.jar">preflight-app-1.8.14.jar</a> 7.1MB, pre-built Preflight standalone binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/preflight-app-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/preflight-app-1.8.14.jar.SHA512">SHA512</a> </li> </ul> <p><strong>Libraries of each subproject</strong></p> <ul> <li> - <a href="[preferred]pdfbox/1.8.13/pdfbox-1.8.13.jar">pdfbox-1.8.13.jar</a> 4.1MB, pre-built binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/pdfbox-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/pdfbox-1.8.14.jar">pdfbox-1.8.14.jar</a> 4.1MB, pre-built binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/pdfbox-1.8.14.jar.SHA512">SHA512</a> </li> <li> - <a href="[preferred]pdfbox/1.8.13/fontbox-1.8.13.jar">fontbox-1.8.13.jar</a> 219KB, pre-built binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/fontbox-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/fontbox-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/fontbox-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/fontbox-1.8.14.jar">fontbox-1.8.14.jar</a> 219KB, pre-built binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/fontbox-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/fontbox-1.8.14.jar.SHA512">SHA512</a> </li> <li> - <a href="[preferred]pdfbox/1.8.13/jempbox-1.8.13.jar">jempbox-1.8.13.jar</a> 51KB, pre-built binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/jempbox-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/jempbox-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/jempbox-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/jempbox-1.8.14.jar">jempbox-1.8.14.jar</a> 52KB, pre-built binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/jempbox-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/jempbox-1.8.14.jar.SHA512">SHA512</a> </li> <li> - <a href="[preferred]pdfbox/1.8.13/preflight-1.8.13.jar">preflight-1.8.13.jar</a> 298KB, pre-built binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/preflight-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/preflight-1.8.14.jar">preflight-1.8.14.jar</a> 298KB, pre-built binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/preflight-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/preflight-1.8.14.jar.SHA512">SHA512</a> </li> <li> - <a href="[preferred]pdfbox/1.8.13/xmpbox-1.8.13.jar">xmpbox-1.8.13.jar</a> 115KB, pre-built binary - <a href="https://www.apache.org/dist/pdfbox/1.8.13/xmpbox-1.8.13.jar.asc">PGP</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/xmpbox-1.8.13.jar.md5">MD5</a> - <a href="https://www.apache.org/dist/pdfbox/1.8.13/xmpbox-1.8.13.jar.sha">SHA1</a> + <a href="[preferred]pdfbox/1.8.14/xmpbox-1.8.14.jar">xmpbox-1.8.14.jar</a> 116KB, pre-built binary + <a href="https://www.apache.org/dist/pdfbox/1.8.14/xmpbox-1.8.14.jar.asc">PGP</a> + <a href="https://www.apache.org/dist/pdfbox/1.8.14/xmpbox-1.8.14.jar.SHA512">SHA512</a> </li> </ul> http://git-wip-us.apache.org/repos/asf/pdfbox-docs/blob/2590005c/content/siteupdate.html ---------------------------------------------------------------------- diff --git a/content/siteupdate.html b/content/siteupdate.html index 3f60a75..b4fb76b 100644 --- a/content/siteupdate.html +++ b/content/siteupdate.html @@ -175,31 +175,35 @@ <h3 id="checkout-from-the-git-repository">Checkout from the Git Repository</h3> <p>Before you can edit the site, you need to check it out from the Git repository:</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git clone https://git-wip-us.apache.org/repos/asf/pdfbox-docs -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>git clone https://git-wip-us.apache.org/repos/asf/pdfbox-docs +</code></pre> +</div> <h3 id="local-changes">Local Changes</h3> <p>You can now do the changes and additions to the sources of the PDFBox website. To test these locally use</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jekyll serve -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>jekyll serve +</code></pre> +</div> <p>which will compile the changes and run a local webserver at</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>http://localhost:4000 -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>http://localhost:4000 +</code></pre> +</div> <h3 id="publish-the-website-for-comitters-only">Publish the Website (For Comitters Only)</h3> <p>After you have done the local changes follow these steps to publish the content:</p> <p>Add the following server configuration in your ~/.m2/settings.xml file</p> -<div class="language-xml highlighter-rouge"><div class="highlight"><pre class="highlight"><code><span class="nt"><server></span> +<div class="language-xml highlighter-rouge"><pre class="highlight"><code><span class="nt"><server></span> <span class="nt"><id></span>pdfbox-site<span class="nt"></id></span> <span class="nt"><username></span>** USERNAME **<span class="nt"></username></span> <span class="nt"><password></span>** PASSWORD **<span class="nt"></password></span> <span class="nt"></server></span> -</code></pre></div></div> +</code></pre> +</div> <p><code class="highlighter-rouge">pdfbox-site</code> is referenced from the PDFBox pom.xml file.</p> @@ -207,21 +211,24 @@ <p>Ensure that the new website content can build locally</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>jekyll build -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>jekyll build +</code></pre> +</div> <p>This will read the sources and generate the new content in the <code class="highlighter-rouge">./staging</code> directory.</p> <p>When you are happy with the new content update the source repository</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>git commit -m "..." +<div class="highlighter-rouge"><pre class="highlight"><code>git commit -m "..." git push origin master -</code></pre></div></div> +</code></pre> +</div> <p>Upload the new content to the production site</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>mvn scm-publish:publish-scm -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>mvn scm-publish:publish-scm +</code></pre> +</div> <p>This will checkout the current content into the <code class="highlighter-rouge">./target</code>directory, apply the changes from <code class="highlighter-rouge">./staging</code> and publish the changes to the PDFBox production website.</p> @@ -231,8 +238,9 @@ the changes to the PDFBox production website.</p> <p>Run</p> -<div class="highlighter-rouge"><div class="highlight"><pre class="highlight"><code>$ mvn clean javadoc:aggregate scm-publish:publish-scm -</code></pre></div></div> +<div class="highlighter-rouge"><pre class="highlight"><code>$ mvn clean javadoc:aggregate scm-publish:publish-scm +</code></pre> +</div> <p>from the <code class="highlighter-rouge"><SVN_ROOT>/../pdfbox</code> directory.</p>