IRONSOFTWAREHOME

表單處理期間的AccessViolationException (c0000005)

Curtis Chau
Curtis Chau
Updated: 2026年7月3日

在處理PDF表單時,IronPDF可能會拋出一個間歇性的本地PdfDocument.Merge期間。

AccessViolationException (0xc0000005)
bad conversion while widening narrow string
Text

崩潰是因為本地表單字段句柄與管理物件生命週期之間的交互引起的。如果PdfDocument在本地表單操作仍在進行時被垃圾回收或處置,本地層將存取已被釋放的記憶體,從而產生存取違規。

反覆出現的"在擴展窄字串時的錯誤轉換"警告,連同在展平期間移除表單字段註釋的警告,是一個獨立且無害的症狀。 這些是從解碼內部AcroForm字段字串和元資料而來,它們包含了特定PDF中的日文或多字節字元。 這些不表示一般支持日文或Unicode的問題,也不表示日文UNC文件路徑的問題。

解決方案

1. 保持文件在整個操作過程中存活

建議:在表單處理的整個過程中保持PdfDocument在作用域內。 將其包裹在GC.KeepAlive(doc)。

Using doc As IronPdf.PdfDocument = IronPdf.PdfDocument.FromFile(tempPdfPath)
    For Each field In doc.Form
        ' Your form field processing here
    Next
    GC.KeepAlive(doc)
End Using
Text

GC.KeepAlive(doc)阻止運行時在本地表單操作仍在進行時收集文件,關閉本地程式碼可能命中已釋放記憶體的時間窗口。

2. 移除手動GC.Collect()調用

在PDF和表單處理期間刪除任何GC.Collect()調用。 在操作中強制收集可能會引發導致崩潰的精確生命週期問題。

3. 僅目標x64

將專案平台目標明確設置為x64,並確保偏好32位已禁用。 作為x64運行可避免在本地表單工作期間32位進程的約束。

Curtis Chau
技術作家

Curtis Chau擁有Carleton大學的電腦科學學士學位,專精於前端開發,擁有Node.js、TypeScript、JavaScript和React的專業知識。Curtis熱衷於建立直觀且美觀的使用者介面,喜愛使用現代框架並建立結構良好、視覺吸引力的手冊。

...
閱讀更多

準備開始了嗎?

Nuget Downloads 21,228,841版本:2026.9剛剛發布

立即獲取您的免費30天試用密鑰。
不需要信用卡或建立賬戶
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起

有問題嗎?聯絡我們的開發團隊。

Key in blue circle

立即免費取得 30 天試用金鑰。

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

OR
bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
預訂您的免費現場演示
Booking Badge

受到全球數百萬工程師的信任

Iron Software的客戶標誌
獲取您的無義務諮詢
填寫以下表格或電子郵件sales@ironsoftware.com
您的詳細資訊將始終保密。
受到全球數百萬工程師的信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰。
無需信用卡或帳戶建立
C# 用於PDF的NuGet程式庫
使用NuGet安裝

版本: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. 在解決方案資源管理器,右鍵點選參考,管理NuGet包
  2. 選擇瀏覽並搜尋"IronPdf"
  3. 選擇套件並安裝
C# PDF DLL
下載DLL

版本: 2026.9

或者點擊此處下載Windows安裝程式。

  1. 下載並解壓IronPDF到類似~/Libs的位置,位於您的解決方案目錄中
  2. 在Visual Studio解決方案資源管理器,右鍵點選參考。選擇瀏覽,"IronPdf.dll"

授權從$999起