You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by le...@apache.org on 2022/08/03 06:15:57 UTC
svn commit: r1903203 - in /pdfbox/trunk: examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Author: lehmi
Date: Wed Aug 3 06:15:57 2022
New Revision: 1903203
URL: http://svn.apache.org/viewvc?rev=1903203&view=rev
Log:
PDFBOX-5483: replace InputStream with RandomAccessRead
Modified:
pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java
pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
Modified: pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java?rev=1903203&r1=1903202&r2=1903203&view=diff
==============================================================================
--- pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java (original)
+++ pdfbox/trunk/examples/src/main/java/org/apache/pdfbox/examples/util/PDFMergerExample.java Wed Aug 3 06:15:57 2022
@@ -22,6 +22,7 @@ import java.io.InputStream;
import java.io.OutputStream;
import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.io.MemoryUsageSetting;
+import org.apache.pdfbox.io.RandomAccessRead;
import org.apache.pdfbox.multipdf.PDFMergerUtility;
import org.apache.pdfbox.pdmodel.PDDocumentInformation;
import org.apache.pdfbox.pdmodel.common.PDMetadata;
@@ -55,14 +56,14 @@ public class PDFMergerExample
/**
* Creates a compound PDF document from a list of input documents.
* <p>
- * The merged document is PDF/A-1b compliant, provided the source documents are as well. It
- * contains document properties title, creator and subject, currently hard-coded.
+ * The merged document is PDF/A-1b compliant, provided the source documents are as well. It contains document
+ * properties title, creator and subject, currently hard-coded.
*
- * @param sources list of source PDF document streams.
+ * @param sources list of source PDF documents as RandomAccessRead.
* @return compound PDF document as a readable input stream.
* @throws IOException if anything goes wrong during PDF merge.
*/
- public InputStream merge(final List<InputStream> sources) throws IOException
+ public InputStream merge(final List<RandomAccessRead> sources) throws IOException
{
String title = "My title";
String creator = "Alexander Kriegisch";
@@ -98,7 +99,8 @@ public class PDFMergerExample
}
}
- private PDFMergerUtility createPDFMergerUtility(List<InputStream> sources, ByteArrayOutputStream mergedPDFOutputStream)
+ private PDFMergerUtility createPDFMergerUtility(List<RandomAccessRead> sources,
+ ByteArrayOutputStream mergedPDFOutputStream)
{
LOG.info("Initialising PDF merge utility");
PDFMergerUtility pdfMerger = new PDFMergerUtility();
Modified: pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java?rev=1903203&r1=1903202&r2=1903203&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java (original)
+++ pdfbox/trunk/pdfbox/src/main/java/org/apache/pdfbox/multipdf/PDFMergerUtility.java Wed Aug 3 06:15:57 2022
@@ -19,7 +19,6 @@ package org.apache.pdfbox.multipdf;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
import java.util.ArrayList;
import java.util.Arrays;
@@ -44,6 +43,7 @@ import org.apache.pdfbox.cos.COSObject;
import org.apache.pdfbox.cos.COSStream;
import org.apache.pdfbox.io.IOUtils;
import org.apache.pdfbox.io.MemoryUsageSetting;
+import org.apache.pdfbox.io.RandomAccessRead;
import org.apache.pdfbox.pdfwriter.compress.CompressParameters;
import org.apache.pdfbox.pdmodel.PDDocument;
import org.apache.pdfbox.pdmodel.PDDocumentCatalog;
@@ -307,9 +307,9 @@ public class PDFMergerUtility
/**
* Add a source to the list of documents to merge.
*
- * @param source InputStream representing source document
+ * @param source RandomAccessRead representing source document
*/
- public void addSource(InputStream source)
+ public void addSource(RandomAccessRead source)
{
sources.add(source);
}
@@ -317,10 +317,9 @@ public class PDFMergerUtility
/**
* Add a list of sources to the list of documents to merge.
*
- * @param sourcesList List of InputStream objects representing source
- * documents
+ * @param sourcesList List of RandomAccessRead objects representing source documents
*/
- public void addSources(List<InputStream> sourcesList)
+ public void addSources(List<RandomAccessRead> sourcesList)
{
sources.addAll(sourcesList);
}
@@ -377,7 +376,8 @@ public class PDFMergerUtility
}
else
{
- sourceDoc = Loader.loadPDF((InputStream) sourceObject, memUsageSetting);
+ sourceDoc = Loader.loadPDF((RandomAccessRead) sourceObject,
+ memUsageSetting);
}
for (PDPage page : sourceDoc.getPages())
{
@@ -453,7 +453,7 @@ public class PDFMergerUtility
}
else
{
- sourceDoc = Loader.loadPDF((InputStream) sourceObject,
+ sourceDoc = Loader.loadPDF((RandomAccessRead) sourceObject,
partitionedMemSetting);
}
tobeclosed.add(sourceDoc);