使用Acrobat重新创建pdf

时间:2014-06-04 14:29:45

标签: c# pdf itextsharp acrobat acrobat-sdk

我尝试通过提取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();

这不会引发任何错误,但也没有文件产生。

0 个答案:

没有答案