我尝试通过提取pdf的文本
iTextSharp.text.pdf.parser.PdfTextExtractor.GetTextFromPage
,
由于pdf文件相对于内联图片格式不正确而无法正常工作。
我发现我可以解决这个问题,如果我(A)在Adobe Acrobat中打开pdf并将其保存为优化的pdf。然后解析将工作。 或者(B)我会在Adobe Acrobat中打开它并通过Adobe PDF再次打印为pdf。
现在我有14.000个这样的文件,想要自动化(A)或(B)。但不知怎的,我不能成功。
对于(A)我包括了Adobe库,并做了类似这样的事情
mApp = new AcroAppClass();
avDoc = new AcroAVDocClass();
avDoc.Open (strFilePath, "");
pdDoc = (CAcroPDDoc)avDoc.GetPDDoc ();
pdDoc.Save(1, strFilePath.Substring(0, strFilePath.Length - 4) + "_changed.pdf");
但是Adobe SDK不允许我以不同的格式保存。
对于(B)它尝试过这样的事情:
Process pdfProcess = new Process();
pdfProcess.StartInfo.FileName = @"C:\Program Files (x86)\Adobe\Acrobat 11.0\Acrobat\AcroRd32.exe";
pdfProcess.StartInfo.Arguments = string.Format(@"/t", strFilePathSource, "Adobe PDF", "Adobe PDF", strFilePathTarget);
pdfProcess.Start();
这不会引发任何错误,但也没有文件产生。