迁移指南 从 ActivePDF 迁移到 IronPDF:(.NET指南) Curtis Chau 已更新:一月 7, 2026 下载 IronPDF NuGet 下载 DLL 下载 Windows 安装程序 免费试用 法学硕士副本 法学硕士副本 将页面复制为 Markdown 格式,用于 LLMs 在 ChatGPT 中打开 向 ChatGPT 咨询此页面 在双子座打开 向 Gemini 询问此页面 在 Grok 中打开 向 Grok 询问此页面 打开困惑 向 Perplexity 询问有关此页面的信息 分享 在 Facebook 上分享 分享到 X(Twitter) 在 LinkedIn 上分享 复制链接 电子邮件文章 从ActivePDF迁移到 IronPDF:完整的 C# 迁移指南。 ActivePDF 长期以来一直是 .NET 开发人员可靠的 PDF 操作工具包。 然而,自从被福昕收购后,许多开发团队都面临着平台未来发展方向、License 条款和持续创新的不确定性。 本指南提供了从ActivePDF到IronPDF的全面、逐步的迁移路径--IronPDF 是一个现代化的、积极维护的 .NET PDF 库,完全支持从 .NET Framework 4.6.2 到 .NET 9 及更高版本。 为什么要从ActivePDF迁移? 福昕软件收购ActivePDF后,给在 .NET 应用程序中构建 PDF 生成和处理解决方案的开发人员带来了一些挑战。 ### 不确定的产品未来 ActivePDF 在福昕所有权下的过渡引发了对该工具包长期发展轨迹的合理质疑。 依赖ActivePDF的开发人员面临着该库成为支持减少和创新停滞的传统产品的潜在风险。 对于计划将项目延长到 2025 年和 2026 年的团队来说,这种不确定性会带来巨大的技术风险。 ### 许可复杂性 收购带来了许可方面的不确定性,可能会使部署复杂化。ActivePDF传统的机器锁定许可模式在现代云和容器环境中会产生摩擦,在这种环境中,应用程序会在基础设施上动态扩展。 ### 传统架构模式 ActivePDF 的架构反映了以有状态工具包模式为中心的旧设计理念。 `OpenOutputFile`/`CloseOutputFile`工作流需要明确的文件句柄管理,这与现代 C# 的约定不一致,如果处理不慎,可能会引入资源管理问题。 ### 安装和配置开销 与当代基于 NuGet 的软件包管理不同,ActivePDF 在实例化工具包时通常需要手动引用 DLL 和显式路径配置--这种模式增加了入门的摩擦,并使 CI/CD 管道复杂化。 ##ActivePDF与 IronPDF:主要区别 在深入了解迁移过程之前,了解ActivePDF和IronPDF之间的根本区别有助于为所需的代码更改设定预期。 |方面|ActivePDF|IronPDF| |--------|-----------|---------| |**公司状态**|被福昕软件收购(前途未卜)|独立、清晰的开发路线图| |**安装**|手动 DLL 引用|简单的 NuGet 软件包打开输出文件代码>/<代码>关闭输出文件代码)|流畅、实用的>ChromePdfRenderer代码> + <代码>PdfDocument代码|单独关注| |文件操作|<代码>打开输出文件()代码>/<代码>关闭输出文件()代码|直接<代码>SaveAs()代码|删除打开/关闭调用| |页面创建|<代码>NewPage()代码>方法|从 HTML 自动生成|删除页面创建调用| |返回值|整数错误代码|例外情况|实施 try/catch| |页面大小单位|点数(612x792 = 字母)|枚举或毫米|更新测量| ### 前提条件 确保您的环境符合这些要求: - .NET Framework 4.6.2+ 或 .NET Core 3.1 / .NET 5-9 - Visual Studio 2019+ 或 JetBrains Rider - 访问 NuGet 包管理器 -IronPDF许可证密钥(可在[ironpdf.com](https://ironpdf.com/licensing/)免费试用) ## 逐步迁移过程 ### 步骤 1:更新 NuGet 软件包 移除ActivePDF软件包并安装 IronPDF: ```bash # RemoveActivePDFpackage dotnet remove package APToolkitNET # Install IronPDF dotnet add package IronPdf ``` 也可通过 Visual Studio 软件包管理器控制台进行翻译: ```powershell Uninstall-Package APToolkitNET Install-Package IronPdf ``` 对于手动引用 DLL 的项目,请从 `.csproj` 文件中删除引用: ```xml path\to\APToolkitNET.dll ``` ### 步骤 2:配置许可证密钥 在启动应用程序时,在进行任何 PDF 操作前,添加IronPDF许可证密钥: ```csharp // Add at application startup (Program.cs or Startup.cs) IronPdf.License.LicenseKey = "YOUR-LICENSE-KEY"; // Verify license status bool isLicensed = IronPdf.License.IsLicensed; ``` ### 步骤 3:更新命名空间引用 在解决方案中执行全局查找和替换: |查找|替换为| |------|--------------| |<代码>使用 ActivePDF.Toolkit;代码|<代码>使用 IronPdf;代码| |<代码>使用 APToolkitNET;代码|<代码>使用 IronPdf;代码| |<代码>使用 APToolkitNET.PDFObjects;代码|<代码>使用 IronPdf;代码| |<代码>使用 APToolkitNET.Common;代码|<代码>使用 IronPdf;代码| ##>新工具包()代码|<代码>new ChromePdfRenderer()代码|渲染器创建>toolkit.OpenOutputFile(路径)代码|无需对等语|只需在最后调用>toolkit.CloseOutputFile()代码|无需对等语|自动清理| |<代码>toolkit.AddHTML(html)代码|<代码>renderer.RenderHtmlAsPdf(html)代码|返回>toolkit.AddURL(url)代码|<代码>renderer.RenderUrlAsPdf(url)代码|[将>toolkit.SaveAs(路径)代码|<代码>pdf.SaveAs(路径)代码|保存到文件| ###>toolkit.OpenInputFile(路径)代码|<代码>PdfDocument.FromFile(路径)代码|[加载现有>toolkit.AddPDF(路径)代码|<代码>PdfDocument.Merge()代码|用于合并操作| |<代码>toolkit.GetPageCount()代码|<代码>pdf.PageCount代码|属性访问| |<代码>toolkit.GetText()代码|<代码>pdf.ExtractAllText()代码|[文本提取](https://ironpdf.com/how-to/extract-text-and-images/)| ###>toolkit.SetPageSize(612, 792)代码|<代码>RenderingOptions.PaperSize = PdfPaperSize.Letter代码| |<代码>toolkit.SetOrientation("横向")代码|<代码>RenderingOptions.PaperOrientation = PdfPaperOrientation.Landscape代码| |<代码>toolkit.SetMargins(t, b, l, r)代码|<代码>RenderingOptions.MarginTop/Bottom/Left/Right代码| ###>toolkit.Encrypt(password)代码|<代码>pdf.SecuritySettings.OwnerPassword代码| |<代码>toolkit.SetUserPassword(pwd)代码|<代码>pdf.SecuritySettings.UserPassword代码| |<代码>toolkit.SetPermissions(flags)代码|<代码>pdf.SecuritySettings.AllowUserXxx代码| |<代码>toolkit.AddWatermark(text)代码|<代码>pdf.ApplyWatermark(html)代码| ##>Hello World