Comparer

Inheritance: java.lang.Object, com.aspose.words.Processor

public class Comparer extends Processor

Provides methods intended to compare documents.

Methods

MethodDescription
compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime)
compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)
compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime)
compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)
compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime)
compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)Compares two documents with additional options and saves the differences to the specified output file in the provided save format, producing changes as a number of edit and format revisions.
compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime)
compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)
compare(String v1, String v2, String outputFileName, String author, Date dateTime)
compare(String v1, String v2, String outputFileName, String author, Date dateTime, CompareOptions compareOptions)Compares two documents with additional options and saves the differences to the specified output file, producing changes as a number of edit and format revisions.
compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)
compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)Compares two documents and saves the differences as images.
compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)
compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)Compares two documents and saves the differences as images.
create()Creates new instance of the converter processor.
create(ComparerContext context)Creates new instance of the comparer processor.
execute()Execute the processor action.
from(InputStream input)
from(InputStream input, LoadOptions loadOptions)Specifies input document for processing.
from(String input)
from(String input, LoadOptions loadOptions)Specifies input document for processing.
to(OutputStream output, SaveOptions saveOptions)
to(OutputStream output, int saveFormat)
to(String output)
to(String output, SaveOptions saveOptions)Specifies output file for the processor.
to(String output, int saveFormat)
to(ArrayList output, SaveOptions saveOptions)
to(ArrayList output, int saveFormat)
toOutput(ArrayList output, SaveOptions saveOptions)
toOutput(ArrayList output, int saveFormat)

compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime)

public static void compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.io.InputStream
v2java.io.InputStream
outputStreamjava.io.OutputStream
saveOptionsSaveOptions
authorjava.lang.String
dateTimejava.util.Date

compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)

public static void compare(InputStream v1, InputStream v2, OutputStream outputStream, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)

Parameters:

ParameterTypeDescription
v1java.io.InputStream
v2java.io.InputStream
outputStreamjava.io.OutputStream
saveOptionsSaveOptions
authorjava.lang.String
dateTimejava.util.Date
compareOptionsCompareOptions

compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime)

public static void compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.io.InputStream
v2java.io.InputStream
outputStreamjava.io.OutputStream
saveFormatint
authorjava.lang.String
dateTimejava.util.Date

compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)

public static void compare(InputStream v1, InputStream v2, OutputStream outputStream, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)

Parameters:

ParameterTypeDescription
v1java.io.InputStream
v2java.io.InputStream
outputStreamjava.io.OutputStream
saveFormatint
authorjava.lang.String
dateTimejava.util.Date
compareOptionsCompareOptions

compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime)

public static void compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.lang.String
v2java.lang.String
outputFileNamejava.lang.String
saveOptionsSaveOptions
authorjava.lang.String
dateTimejava.util.Date

compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)

public static void compare(String v1, String v2, String outputFileName, SaveOptions saveOptions, String author, Date dateTime, CompareOptions compareOptions)

Compares two documents with additional options and saves the differences to the specified output file in the provided save format, producing changes as a number of edit and format revisions.

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.

Parameters:

ParameterTypeDescription
v1java.lang.StringThe original document.
v2java.lang.StringThe modified document.
outputFileNamejava.lang.StringThe output file name.
saveOptionsSaveOptionsThe output’s save options.
authorjava.lang.StringInitials of the author to use for revisions.
dateTimejava.util.DateThe date and time to use for revisions.
compareOptionsCompareOptionsDocument comparison options.

compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime)

public static void compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.lang.String
v2java.lang.String
outputFileNamejava.lang.String
saveFormatint
authorjava.lang.String
dateTimejava.util.Date

compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)

public static void compare(String v1, String v2, String outputFileName, int saveFormat, String author, Date dateTime, CompareOptions compareOptions)

Parameters:

ParameterTypeDescription
v1java.lang.String
v2java.lang.String
outputFileNamejava.lang.String
saveFormatint
authorjava.lang.String
dateTimejava.util.Date
compareOptionsCompareOptions

compare(String v1, String v2, String outputFileName, String author, Date dateTime)

public static void compare(String v1, String v2, String outputFileName, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.lang.String
v2java.lang.String
outputFileNamejava.lang.String
authorjava.lang.String
dateTimejava.util.Date

compare(String v1, String v2, String outputFileName, String author, Date dateTime, CompareOptions compareOptions)

public static void compare(String v1, String v2, String outputFileName, String author, Date dateTime, CompareOptions compareOptions)

Compares two documents with additional options and saves the differences to the specified output file, producing changes as a number of edit and format revisions.

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 simple compare documents.


 // There is a several ways to compare documents:
 String firstDoc = getMyDir() + "Table column bookmarks.docx";
 String secondDoc = getMyDir() + "Table column bookmarks.doc";

 Comparer.compare(firstDoc, secondDoc, getArtifactsDir() + "LowCode.CompareDocuments.1.docx", "Author", new Date());
 Comparer.compare(firstDoc, secondDoc, getArtifactsDir() + "LowCode.CompareDocuments.2.docx", SaveFormat.DOCX, "Author", new Date());
 CompareOptions options = new CompareOptions();
 options.setIgnoreCaseChanges(true);
 Comparer.compare(firstDoc, secondDoc, getArtifactsDir() + "LowCode.CompareDocuments.3.docx", "Author", new Date(), options);
 Comparer.compare(firstDoc, secondDoc, getArtifactsDir() + "LowCode.CompareDocuments.4.docx", SaveFormat.DOCX, "Author", new Date(), options);
 

Parameters:

ParameterTypeDescription
v1java.lang.StringThe original document.
v2java.lang.StringThe modified document.
outputFileNamejava.lang.StringThe output file name.
authorjava.lang.StringInitials of the author to use for revisions.
dateTimejava.util.DateThe date and time to use for revisions.
compareOptionsCompareOptionsDocument comparison options.

compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)

public static OutputStream[] compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.io.InputStream
v2java.io.InputStream
imageSaveOptionsImageSaveOptions
authorjava.lang.String
dateTimejava.util.Date

Returns: java.io.OutputStream[]

compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)

public static OutputStream[] compareToImages(InputStream v1, InputStream v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)

Compares two documents and saves the differences as images. Each item in the returned array represents a single page of the output rendered as an image.

Examples:

Shows how to compare documents and save results as images.


 // There is a several ways to compare documents:
 String firstDoc = getMyDir() + "Table column bookmarks.docx";
 String secondDoc = getMyDir() + "Table column bookmarks.doc";

 OutputStream[] pages = Comparer.compareToImages(firstDoc, secondDoc, new ImageSaveOptions(SaveFormat.PNG), "Author", new Date());

 try (FileInputStream firstStreamIn = new FileInputStream(firstDoc)) {
     try (FileInputStream secondStreamIn = new FileInputStream(secondDoc)) {
         CompareOptions compareOptions = new CompareOptions();
         compareOptions.setIgnoreCaseChanges(true);
         pages = Comparer.compareToImages(firstStreamIn, secondStreamIn, new ImageSaveOptions(SaveFormat.PNG), "Author", new Date(), compareOptions);
     }
 }
 

Parameters:

ParameterTypeDescription
v1java.io.InputStreamThe original document.
v2java.io.InputStreamThe modified document.
imageSaveOptionsImageSaveOptionsThe output’s image save options.
authorjava.lang.StringInitials of the author to use for revisions.
dateTimejava.util.DateThe date and time to use for revisions.
compareOptionsCompareOptionsDocument comparison options.

Returns: java.io.OutputStream[]

compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)

public static OutputStream[] compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime)

Parameters:

ParameterTypeDescription
v1java.lang.String
v2java.lang.String
imageSaveOptionsImageSaveOptions
authorjava.lang.String
dateTimejava.util.Date

Returns: java.io.OutputStream[]

compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)

public static OutputStream[] compareToImages(String v1, String v2, ImageSaveOptions imageSaveOptions, String author, Date dateTime, CompareOptions compareOptions)

Compares two documents and saves the differences as images. Each item in the returned array represents a single page of the output rendered as an image.

Parameters:

ParameterTypeDescription
v1java.lang.StringThe original document.
v2java.lang.StringThe modified document.
imageSaveOptionsImageSaveOptionsThe output’s image save options.
authorjava.lang.StringInitials of the author to use for revisions.
dateTimejava.util.DateThe date and time to use for revisions.
compareOptionsCompareOptionsDocument comparison options.

Returns: java.io.OutputStream[]

create()

public static Comparer create()

Creates new instance of the converter processor.

Returns: Comparer

create(ComparerContext context)

public static Comparer create(ComparerContext context)

Creates new instance of the comparer processor.

Examples:

Shows how to simple compare documents using context.


 // There is a several ways to compare documents:
 String firstDoc = getMyDir() + "Table column bookmarks.docx";
 String secondDoc = getMyDir() + "Table column bookmarks.doc";

 ComparerContext comparerContext = new ComparerContext();
 comparerContext.getCompareOptions().setIgnoreCaseChanges(true);
 comparerContext.setAuthor("Author");
 comparerContext.setDateTime(new Date());

 Comparer.create(comparerContext)
         .from(firstDoc)
         .from(secondDoc)
         .to(getArtifactsDir() + "LowCode.CompareContextDocuments.docx")
         .execute();
 

Shows how to compare documents from the stream using context.


 // There is a several ways to compare documents from the stream:
 try (FileInputStream firstStreamIn = new FileInputStream(getMyDir() + "Table column bookmarks.docx")) {
     try (FileInputStream secondStreamIn = new FileInputStream(getMyDir() + "Table column bookmarks.doc")) {
         ComparerContext comparerContext = new ComparerContext();
         comparerContext.getCompareOptions().setIgnoreCaseChanges(true);
         comparerContext.setAuthor("Author");
         comparerContext.setDateTime(new Date());

         try (FileOutputStream streamOut = new FileOutputStream(getArtifactsDir() + "LowCode.CompareContextStreamDocuments.docx")) {
             Comparer.create(comparerContext)
                     .from(firstStreamIn)
                     .from(secondStreamIn)
                     .to(streamOut, SaveFormat.DOCX)
                     .execute();
         }
     }
 }
 

Parameters:

ParameterTypeDescription
contextComparerContext

Returns: Comparer

execute()

public void execute()

Execute the processor action.

Examples:

Shows how to convert documents with a single line of code using context.


 String doc = getMyDir() + "Big document.docx";

 ConverterContext converterContext = new ConverterContext();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.1.pdf")
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.2.pdf", SaveFormat.RTF)
         .execute();

 OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
 {
     saveOptions.setPassword("Aspose.Words");
 }
 LoadOptions loadOptions = new LoadOptions();
 {
     loadOptions.setIgnoreOleData(true);
 }
 Converter.create(converterContext)
         .from(doc, loadOptions)
         .to(getArtifactsDir() + "LowCode.ConvertContext.3.docx", saveOptions)
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.4.png", new ImageSaveOptions(SaveFormat.PNG))
         .execute();
 

Shows how to convert documents from a stream with a single line of code using context.


 String doc = getMyDir() + "Document.docx";
 ConverterContext converterContext = new ConverterContext();

 try (FileInputStream streamIn = new FileInputStream(doc)) {
     try (FileOutputStream streamOut = new FileOutputStream(getArtifactsDir() + "LowCode.ConvertContextStream.1.docx")) {
         Converter.create(converterContext)
                 .from(streamIn)
                 .to(streamOut, SaveFormat.RTF)
                 .execute();
     }

     OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
     {
         saveOptions.setPassword("Aspose.Words");
     }
     LoadOptions loadOptions = new LoadOptions();
     {
         loadOptions.setIgnoreOleData(true);
     }
     try (FileOutputStream streamOut1 = new FileOutputStream(getArtifactsDir() + "LowCode.ConvertContextStream.2.docx")) {
         Converter.create(converterContext)
                 .from(streamIn, loadOptions)
                 .to(streamOut1, saveOptions)
                 .execute();
     }
 }
 

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();
         }
     }
 }
 

from(InputStream input)

public Processor from(InputStream input)

Parameters:

ParameterTypeDescription
inputjava.io.InputStream

Returns: Processor

from(InputStream input, LoadOptions loadOptions)

public Processor from(InputStream input, LoadOptions loadOptions)

Specifies input document for processing.

Remarks:

If the processor accepts only one file as an input, only the last specified file will be processed. Merger processor accepts multiple files as an input, as the result all the specified documents will be merged. Converter processor accepts only one file as an input, so only the last specified file will be converted.

Examples:

Shows how to convert documents from a stream with a single line of code using context.


 String doc = getMyDir() + "Document.docx";
 ConverterContext converterContext = new ConverterContext();

 try (FileInputStream streamIn = new FileInputStream(doc)) {
     try (FileOutputStream streamOut = new FileOutputStream(getArtifactsDir() + "LowCode.ConvertContextStream.1.docx")) {
         Converter.create(converterContext)
                 .from(streamIn)
                 .to(streamOut, SaveFormat.RTF)
                 .execute();
     }

     OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
     {
         saveOptions.setPassword("Aspose.Words");
     }
     LoadOptions loadOptions = new LoadOptions();
     {
         loadOptions.setIgnoreOleData(true);
     }
     try (FileOutputStream streamOut1 = new FileOutputStream(getArtifactsDir() + "LowCode.ConvertContextStream.2.docx")) {
         Converter.create(converterContext)
                 .from(streamIn, loadOptions)
                 .to(streamOut1, 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();
         }
     }
 }
 

Parameters:

ParameterTypeDescription
inputjava.io.InputStreamInput document stream.
loadOptionsLoadOptionsOptional load options used to load the document.

Returns: Processor - Returns processor with specified input file stream.

from(String input)

public Processor from(String input)

Parameters:

ParameterTypeDescription
inputjava.lang.String

Returns: Processor

from(String input, LoadOptions loadOptions)

public Processor from(String input, LoadOptions loadOptions)

Specifies input document for processing.

Remarks:

If the processor accepts only one file as an input, only the last specified file will be processed. Merger processor accepts multiple files as an input, as the result all the specified documents will be merged. Converter processor accepts only one file as an input, so only the last specified file will be converted.

Examples:

Shows how to convert documents with a single line of code using context.


 String doc = getMyDir() + "Big document.docx";

 ConverterContext converterContext = new ConverterContext();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.1.pdf")
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.2.pdf", SaveFormat.RTF)
         .execute();

 OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
 {
     saveOptions.setPassword("Aspose.Words");
 }
 LoadOptions loadOptions = new LoadOptions();
 {
     loadOptions.setIgnoreOleData(true);
 }
 Converter.create(converterContext)
         .from(doc, loadOptions)
         .to(getArtifactsDir() + "LowCode.ConvertContext.3.docx", saveOptions)
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.4.png", new ImageSaveOptions(SaveFormat.PNG))
         .execute();
 

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();
 

Parameters:

ParameterTypeDescription
inputjava.lang.StringInput document file name.
loadOptionsLoadOptionsOptional load options used to load the document.

Returns: Processor - Returns processor with specified input file.

to(OutputStream output, SaveOptions saveOptions)

public Processor to(OutputStream output, SaveOptions saveOptions)

Parameters:

ParameterTypeDescription
outputjava.io.OutputStream
saveOptionsSaveOptions

Returns: Processor

to(OutputStream output, int saveFormat)

public Processor to(OutputStream output, int saveFormat)

Parameters:

ParameterTypeDescription
outputjava.io.OutputStream
saveFormatint

Returns: Processor

to(String output)

public Processor to(String output)

Parameters:

ParameterTypeDescription
outputjava.lang.String

Returns: Processor

to(String output, SaveOptions saveOptions)

public Processor to(String output, SaveOptions saveOptions)

Specifies output file for the processor.

Remarks:

If the output consists of multiple files, the specified output file name is used to generate the file name for each part following the rule: ‘outputFile_partIndex.extension’.

Examples:

Shows how to convert documents with a single line of code using context.


 String doc = getMyDir() + "Big document.docx";

 ConverterContext converterContext = new ConverterContext();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.1.pdf")
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.2.pdf", SaveFormat.RTF)
         .execute();

 OoxmlSaveOptions saveOptions = new OoxmlSaveOptions();
 {
     saveOptions.setPassword("Aspose.Words");
 }
 LoadOptions loadOptions = new LoadOptions();
 {
     loadOptions.setIgnoreOleData(true);
 }
 Converter.create(converterContext)
         .from(doc, loadOptions)
         .to(getArtifactsDir() + "LowCode.ConvertContext.3.docx", saveOptions)
         .execute();

 Converter.create(converterContext)
         .from(doc)
         .to(getArtifactsDir() + "LowCode.ConvertContext.4.png", new ImageSaveOptions(SaveFormat.PNG))
         .execute();
 

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();
 

Parameters:

ParameterTypeDescription
outputjava.lang.StringOutput file name.
saveOptionsSaveOptionsOptional save options. If not specified, save format is determined by the file extension.

Returns: Processor - Returns processor with specified output file.

to(String output, int saveFormat)

public Processor to(String output, int saveFormat)

Parameters:

ParameterTypeDescription
outputjava.lang.String
saveFormatint

Returns: Processor

to(ArrayList output, SaveOptions saveOptions)

public Processor to(ArrayList output, SaveOptions saveOptions)

Parameters:

ParameterTypeDescription
outputjava.util.ArrayList
saveOptionsSaveOptions

Returns: Processor

to(ArrayList output, int saveFormat)

public Processor to(ArrayList output, int saveFormat)

Parameters:

ParameterTypeDescription
outputjava.util.ArrayList
saveFormatint

Returns: Processor

toOutput(ArrayList output, SaveOptions saveOptions)

public Processor toOutput(ArrayList output, SaveOptions saveOptions)

Parameters:

ParameterTypeDescription
outputjava.util.ArrayList
saveOptionsSaveOptions

Returns: Processor

toOutput(ArrayList output, int saveFormat)

public Processor toOutput(ArrayList output, int saveFormat)

Parameters:

ParameterTypeDescription
outputjava.util.ArrayList
saveFormatint

Returns: Processor