合并和拆分大型PDF文档?

时间:2016-06-22 18:44:55

标签: aspose aspose.pdf

我们正在使用Aspose tools for .Net进行PDF操作。我们有1000多个pdf文档需要合并然后再次拆分。合并过程将在合并时在两个pdf文档之间添加分隔页。因此拆分过程将知道拆分文档的位置。

这1000个文件包含3种不同的类型。所以我需要创建3个不同的分隔符(每种类型一个)。合并过程将在合并时添加适当的分隔符,具体取决于文档类型。

我知道如何合并&使用Aspose拆分PDF文档。我的问题是,我如何创建&检测这个分隔页?

我想的一个选择是创建一个带有特定条形码的PDF页面,分割过程将读取条形码。 (Using Aspose Barcode)但这似乎是一个耗时的过程,因为拆分过程必须读取每个页面,检查是否有条形码,如果是,则提取数据以检查类型。

还有其他更好的方法吗?

1 个答案:

答案 0 :(得分:0)

您可以在合并文档时分享有关您正在使用的不同类型分隔符的一些信息(非常感谢示例文档或图像)。 如果您将空白页添加为分隔符,Aspose.Pdf for .NET提供了确定PDF文件中的空白页的功能。但仍然在使用这种方法时,您需要遍历所有页面并识别空白页面。或者,您还可以跟踪索引添加分隔符的位置以及何时需要拆分,使用相同的信息。

// The path to the documents directory.
string dataDir = RunExamples.GetDataDir_AsposePdfFacades_TechnicalArticles();

// Instantiate a memoryStream object to hold the extracted text from Document
MemoryStream ms = new MemoryStream();
// Instantiate PdfExtractor object
PdfExtractor extractor = new PdfExtractor();

// Bind the input PDF document to extractor
extractor.BindPdf(dataDir + "FilledForm.pdf");
// Extract text from the input PDF document
extractor.ExtractText();

bool containsText = false;
bool containsImage = false;
// Save the extracted text to a text file
extractor.GetText(ms);
// Check if the MemoryStream length is greater than or equal to 1
if (ms.Length >= 1)
containsText = true;

// Extract images from the input PDF document
extractor.ExtractImage();

// Calling HasNextImage method in while loop. When images will finish, loop will exit
if (extractor.HasNextImage())
containsImage = true;

// Now find out whether this PDF is text only or image only
if (containsText == true && containsImage == false)
Console.WriteLine("PDF contains text only");
else if (containsText == false && containsImage == true)
Console.WriteLine("PDF contains image only");
else if (containsText == true && containsImage == true)
Console.WriteLine("PDF contains both text and image");
else if (containsText == false && containsImage == false)
Console.WriteLine("PDF contains neither text or nor image");

我的名字是Nayyer,我是Aspose的开发人员传播者。

相关问题