public class Merger extends Processor
Remarks:
The specified input and output files or streams, along with the desired merge and save options, are used to merge the given input documents into a single output document.
The merging functionality supports over 35 different file formats.
Examples:
Shows how to merge documents into a single output document.
//There is a several ways to merge documents:
String inputDoc1 = getMyDir() + "Big document.docx";
String inputDoc2 = getMyDir() + "Tables.docx";
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.1.docx", new String[]{inputDoc1, inputDoc2});
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
{
saveOptions.setPassword("Aspose.Words");
}
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.2.docx", new String[]{inputDoc1, inputDoc2}, saveOptions, MergeFormatMode.KEEP_SOURCE_FORMATTING);
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.3.pdf", new String[]{inputDoc1, inputDoc2}, SaveFormat.PDF, MergeFormatMode.KEEP_SOURCE_LAYOUT);
LoadOptions firstLoadOptions = new LoadOptions();
{
firstLoadOptions.setIgnoreOleData(true);
}
LoadOptions secondLoadOptions = new LoadOptions();
{
secondLoadOptions.setIgnoreOleData(false);
}
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.4.docx", new String[]{inputDoc1, inputDoc2}, new LoadOptions[]{firstLoadOptions, secondLoadOptions},
saveOptions, MergeFormatMode.KEEP_SOURCE_FORMATTING);
Document doc = Merger.merge(new String[]{inputDoc1, inputDoc2}, MergeFormatMode.MERGE_FORMATTING);
doc.save(getArtifactsDir() + "LowCode.MergeDocument.5.docx");
doc = Merger.merge(new String[]{inputDoc1, inputDoc2}, new LoadOptions[]{firstLoadOptions, secondLoadOptions}, MergeFormatMode.MERGE_FORMATTING);
doc.save(getArtifactsDir() + "LowCode.MergeDocument.6.docx");
mResultDocument| Modifier and Type | Method and Description |
|---|---|
static Merger |
create()
Creates new instance of the mail merger processor.
|
static Merger |
create(MergerContext context)
Creates new instance of the mail merger processor.
|
protected void |
executeCore() |
static Document |
merge(Document[] inputDocuments,
int mergeFormatMode) |
static Document |
merge(java.io.InputStream[] inputStreams,
int mergeFormatMode) |
static Document |
merge(java.io.InputStream[] inputStreams,
LoadOptions[] loadOptions,
int mergeFormatMode) |
static void |
merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
int saveFormat) |
static void |
merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
LoadOptions[] loadOptions,
SaveOptions saveOptions,
int mergeFormatMode) |
static void |
merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
SaveOptions saveOptions,
int mergeFormatMode) |
static Document |
merge(java.lang.String[] inputFiles,
int mergeFormatMode) |
static Document |
merge(java.lang.String[] inputFiles,
LoadOptions[] loadOptions,
int mergeFormatMode) |
static void |
merge(java.lang.String outputFile,
java.lang.String[] inputFiles)
Merges the given input documents into a single output document using specified input and output file names using
MergeFormatMode.KEEP_SOURCE_FORMATTING. |
static void |
merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
int saveFormat,
int mergeFormatMode) |
static void |
merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
LoadOptions[] loadOptions,
SaveOptions saveOptions,
int mergeFormatMode) |
static void |
merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
SaveOptions saveOptions,
int mergeFormatMode) |
static java.io.InputStream[] |
mergeToImages(java.io.InputStream[] inputStreams,
ImageSaveOptions saveOptions,
int mergeFormatMode) |
static java.io.InputStream[] |
mergeToImages(java.lang.String[] inputFiles,
ImageSaveOptions saveOptions,
int mergeFormatMode) |
public static Merger create()
public static Merger create(MergerContext context)
Examples:
Shows how to merge documents into a single output document using context.
//There is a several ways to merge documents:
String inputDoc1 = getMyDir() + "Big document.docx";
String inputDoc2 = getMyDir() + "Tables.docx";
MergerContext mergerContext = new MergerContext();
mergerContext.setMergeFormatMode(MergeFormatMode.KEEP_SOURCE_FORMATTING);
Merger.create(mergerContext)
.from(inputDoc1)
.from(inputDoc2)
.to(getArtifactsDir() + "LowCode.MergeContextDocuments.1.docx")
.execute();
LoadOptions firstLoadOptions = new LoadOptions();
{
firstLoadOptions.setIgnoreOleData(true);
}
LoadOptions secondLoadOptions = new LoadOptions();
{
secondLoadOptions.setIgnoreOleData(false);
}
Merger.create(mergerContext)
.from(inputDoc1, firstLoadOptions)
.from(inputDoc2, secondLoadOptions)
.to(getArtifactsDir() + "LowCode.MergeContextDocuments.2.docx", SaveFormat.DOCX)
.execute();
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
{
saveOptions.setPassword("Aspose.Words");
}
Merger.create(mergerContext)
.from(inputDoc1)
.from(inputDoc2)
.to(getArtifactsDir() + "LowCode.MergeContextDocuments.3.docx", saveOptions)
.execute();
Shows how to merge documents from stream into a single output document using context.
//There is a several ways to merge documents:
String inputDoc1 = getMyDir() + "Big document.docx";
String inputDoc2 = getMyDir() + "Tables.docx";
MergerContext mergerContext = new MergerContext();
mergerContext.setMergeFormatMode(MergeFormatMode.KEEP_SOURCE_FORMATTING);
try (FileInputStream firstStreamIn = new FileInputStream(inputDoc1)) {
try (FileInputStream secondStreamIn = new FileInputStream(inputDoc2)) {
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
{
saveOptions.setPassword("Aspose.Words");
}
try (FileOutputStream streamOut = new FileOutputStream(getArtifactsDir() + "LowCode.MergeStreamContextDocuments.1.docx")) {
Merger.create(mergerContext)
.from(firstStreamIn)
.from(secondStreamIn)
.to(streamOut, saveOptions)
.execute();
}
LoadOptions firstLoadOptions = new LoadOptions();
{
firstLoadOptions.setIgnoreOleData(true);
}
LoadOptions secondLoadOptions = new LoadOptions();
{
secondLoadOptions.setIgnoreOleData(false);
}
try (FileOutputStream streamOut1 = new FileOutputStream(getArtifactsDir() + "LowCode.MergeStreamContextDocuments.2.docx")) {
Merger.create(mergerContext)
.from(firstStreamIn, firstLoadOptions)
.from(secondStreamIn, secondLoadOptions)
.to(streamOut1, SaveFormat.DOCX)
.execute();
}
}
}
protected void executeCore()
throws java.lang.Exception
executeCore in class Processorjava.lang.Exceptionpublic static void merge(java.lang.String outputFile,
java.lang.String[] inputFiles)
throws java.lang.Exception
MergeFormatMode.KEEP_SOURCE_FORMATTING.
Remarks:
If the output format is an image (BMP, EMF, EPS, GIF, JPEG, PNG, or WebP), each page of the output will be saved as a separate file. The specified output file name will be used to generate file names for each part following the rule: outputFile_partIndex.extension.
If the output format is TIFF, the output will be saved as a single multi-frame TIFF file.
Examples:
Shows how to merge documents into a single output document.
//There is a several ways to merge documents:
String inputDoc1 = getMyDir() + "Big document.docx";
String inputDoc2 = getMyDir() + "Tables.docx";
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.1.docx", new String[]{inputDoc1, inputDoc2});
OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
{
saveOptions.setPassword("Aspose.Words");
}
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.2.docx", new String[]{inputDoc1, inputDoc2}, saveOptions, MergeFormatMode.KEEP_SOURCE_FORMATTING);
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.3.pdf", new String[]{inputDoc1, inputDoc2}, SaveFormat.PDF, MergeFormatMode.KEEP_SOURCE_LAYOUT);
LoadOptions firstLoadOptions = new LoadOptions();
{
firstLoadOptions.setIgnoreOleData(true);
}
LoadOptions secondLoadOptions = new LoadOptions();
{
secondLoadOptions.setIgnoreOleData(false);
}
Merger.merge(getArtifactsDir() + "LowCode.MergeDocument.4.docx", new String[]{inputDoc1, inputDoc2}, new LoadOptions[]{firstLoadOptions, secondLoadOptions},
saveOptions, MergeFormatMode.KEEP_SOURCE_FORMATTING);
Document doc = Merger.merge(new String[]{inputDoc1, inputDoc2}, MergeFormatMode.MERGE_FORMATTING);
doc.save(getArtifactsDir() + "LowCode.MergeDocument.5.docx");
doc = Merger.merge(new String[]{inputDoc1, inputDoc2}, new LoadOptions[]{firstLoadOptions, secondLoadOptions}, MergeFormatMode.MERGE_FORMATTING);
doc.save(getArtifactsDir() + "LowCode.MergeDocument.6.docx");
outputFile - The output file name.inputFiles - The input file names.java.lang.Exceptionpublic static void merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
int saveFormat,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static void merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
SaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static void merge(java.lang.String outputFile,
java.lang.String[] inputFiles,
LoadOptions[] loadOptions,
SaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static Document merge(java.lang.String[] inputFiles, int mergeFormatMode) throws java.lang.Exception
java.lang.Exceptionpublic static Document merge(java.lang.String[] inputFiles, LoadOptions[] loadOptions, int mergeFormatMode) throws java.lang.Exception
java.lang.Exceptionpublic static Document merge(Document[] inputDocuments, int mergeFormatMode) throws java.lang.Exception
java.lang.Exceptionpublic static void merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
int saveFormat)
throws java.lang.Exception
java.lang.Exceptionpublic static void merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
SaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static void merge(java.io.OutputStream outputStream,
java.io.InputStream[] inputStreams,
LoadOptions[] loadOptions,
SaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static Document merge(java.io.InputStream[] inputStreams, int mergeFormatMode) throws java.lang.Exception
java.lang.Exceptionpublic static Document merge(java.io.InputStream[] inputStreams, LoadOptions[] loadOptions, int mergeFormatMode) throws java.lang.Exception
java.lang.Exceptionpublic static java.io.InputStream[] mergeToImages(java.lang.String[] inputFiles,
ImageSaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exceptionpublic static java.io.InputStream[] mergeToImages(java.io.InputStream[] inputStreams,
ImageSaveOptions saveOptions,
int mergeFormatMode)
throws java.lang.Exception
java.lang.Exception