0
A
回答
1
我通常會檢查一個文件的標題以查看它是什麼類型的文件。 PDF標題始終始於%PDF
。
Ofcourse該文件可能會損壞後的頭,然後我不確定是否有任何其他方式,而不是隻是試圖打開和從文檔中讀取。當文件損壞時,打開或讀取該文件可能會導致異常。我不確定iTextSharp會拋出各種異常,但我認爲你可以測試一下。
0
的一種方式,因爲你合併文件,是包裝你的代碼在try...catch
塊:
Dictionary<string, Exception> errors =
new Dictionary<string, Exception>();
document.Open();
PdfContentByte cb = writer.DirectContent;
foreach (string filePath in testList) {
try {
PdfReader reader = new PdfReader(filePath);
int pages = reader.NumberOfPages;
for (int i = 0; i < pages;) {
document.NewPage();
PdfImportedPage page = writer.GetImportedPage(reader, ++i);
cb.AddTemplate(page, 0, 0);
}
}
// **may** be PDF spec, but not supported by iText
catch (iTextSharp.text.exceptions.UnsupportedPdfException ue) {
errors.Add(filePath, ue);
}
// invalid according to PDF spec
catch (iTextSharp.text.exceptions.InvalidPdfException ie) {
errors.Add(filePath, ie);
}
catch (Exception e) {
errors.Add(filePath, e);
}
}
if (errors.Keys.Count > 0) {
document.NewPage();
foreach (string key in errors.Keys) {
document.Add(new Paragraph(string.Format(
"FILE: {0}\nEXCEPTION: [{1}]: {2}",
key, errors[key].GetType(), errors[key].Message
)));
}
}
其中testList
是文件路徑,你歸併的PDF文檔的集合。
另外還需要考慮您定義爲損壞的。有許多不符合PDF規範的PDF文檔,但是一些讀者(Adobe Reader)足夠聰明,可以即時修復/修復它們。
相關問題
- 1. iTextSharp + FileStream =損壞的PDF文件
- 2. 使用ITextSharp和mvc損壞的pdf
- 3. Itextsharp PDF遭到損壞
- 4. iTextSharp正在生成損壞的PDF
- 5. iTextSharp在PowerShell中合併PDF文件
- 6. 合併使用itextsharp在c#中創建pdf的各種組件#
- 7. 如何調試損壞的pdf文件?
- 8. jsPDF損壞的PDF文件?
- 9. 合併PDFs跳過損壞的PDF
- 10. 可以pdfbox或itextsharp或pdfsharp讀取損壞的pdf文件
- 11. iTextSharp創建一個損壞的.pdf文件
- 12. 合併加密的PDF文件與iTextSharp
- 13. 使用itextsharp合併文件夾內的pdf文件
- 14. ABCpdf損壞PDF文件
- 15. iTextSharp在內存中創建文件導致損壞的文件
- 16. Response.WriteFile PDF文件 - 損壞的文件
- 17. itextsharp創建一個損壞的/空白的pdf文件,i-9文件
- 18. 如何在使用iTextSharp與c#呈現的PDF中合併泰盧固語?
- 19. 如何在C#中創建SVG文件並在iTextSharp pdf中導入文件?
- 20. 檢查一個PDF文件是否被損壞使用C#
- 21. 試圖合併使用iTextSharp的V4 PDF文件拋出異常
- 22. 使用iTextSharp合併pdf文件的內容
- 23. 如何使用iTextSharp編輯PDF文件
- 24. itextSharp datatable到pdf base64字符串 - pdf損壞
- 25. 生成損壞的pdf文件
- 26. PDF返回損壞的文件
- 27. SVN中損壞的'當前'文件
- 28. 如何檢查iOS中損壞的PDF?
- 29. 使用Itextsharp(XMLWorker)將Asp.net頁面轉換爲pdf返回已損壞/空白pdf
- 30. PDF模板,第二個文件已經損壞的保存2份 - iTextSharp的