在档案系统中对文件管理有需求的客户经常问到: 如何将多个文件合并,并且合并后的文件如何保留源文件目录, 标签? 等等.
java示例代码如下:
CombineDocumentInfoArray info_array = new CombineDocumentInfoArray();
info_array.add(new CombineDocumentInfo( "AboutFoxit1.pdf", ""));
info_array.add(new CombineDocumentInfo( "AboutFoxit2.pdf", ""));
info_array.add(new CombineDocumentInfo( "AboutFoxit3.pdf", ""));
String savepath = "Test_Combined.pdf";
//源PDF文件的书签将输出到组合结果PDF文件。
int option = (int)(e_CombineDocsOptionBookmark
//具有相同名称的字段将在组合结果PDF文件中重命名。
| e_CombineDocsOptionAcroformRename
//源PDF文件的结构树将输出到组合结果PDF文件。
| e_CombineDocsOptionStructrueTree
//源PDF文件的OutputIntents将输出到组合结果PDF文件
| e_CombineDocsOptionOutputIntents
//源PDF文件的“OCProperties”将输出到组合结果PDF文件。
| e_CombineDocsOptionOCProperties
//源PDF文件的“MarkInfo”将输出到组合结果PDF文件。
| e_CombineDocsOptionMarkInfos
//源PDF文件的页面标签将输出到组合结果PDF文件
| e_CombineDocsOptionPageLabels
//源PDF文件的“Destins”名称树和“EmbeddedFiles”名称树将输出到组合结果PDF文件中。
| e_CombineDocsOptionNames
//将使用对象流来生成组合结果PDF文件,以减小结果文件的大小。
| e_CombineDocsOptionObjectStream
//源PDF文件中的重复流对象将输出到组合结果PDF文件中
| e_CombineDocsOptionDuplicateStream);
Progressive progressive = Combination.startCombineDocuments(savepath, info_array, option, null);
if (progressive.getRateOfProgress() != 100) {
int state = Progressive.e_ToBeContinued;
while (Progressive.e_ToBeContinued == state) {
state = progressive.resume();
}
}
即可合并PDF文件并设置合并后想要的文件属性。