You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Silverlight(.NET Framework4)生成PDF:PDFSharp安装及DLL获取求助

解决方案:Silverlight + .NET Framework 4 下的Excel转纯文本PDF兼容方案

一、PDFSharp Silverlight兼容版本获取

  • 优先使用PDFsharp-sl 1.32.3057稳定版,这是官方针对Silverlight发布的正式版本,兼容性远优于beta版,可直接找到对应预编译DLL引用。
  • 若找不到预编译文件,拉取PDFSharp官方历史分支sl-1.32的源码,用Visual Studio 2010(适配.NET Framework 4及Silverlight 4/5环境)编译,编译时指定Silverlight为目标平台,生成的DLL即可直接在项目中使用。

二、Excel转纯文本前置处理

Silverlight对Excel直接操作受限,先完成纯文本提取:

  • 使用适配.NET Framework 4的EPPlus Silverlight兼容版读取Excel文件,遍历单元格提取纯文本内容。
  • 若有后端服务,可将Excel转纯文本的逻辑放在后端完成,再将文本内容传给Silverlight端,规避沙箱权限和兼容性问题。

三、兼容版PDFSharp生成纯文本PDF

引用编译好的PDFSharp Silverlight DLL后,示例代码:

using PdfSharp.Pdf;
using PdfSharp.Drawing;
using PdfSharp.Silverlight;
using System.IO.IsolatedStorage;

// 创建PDF文档
var pdfDoc = new PdfDocument();
var page = pdfDoc.AddPage();
var graphics = XGraphics.FromPdfPage(page);
var textFont = new XFont("Arial", 12);

// 写入提取的Excel纯文本
graphics.DrawString("这里替换为Excel提取的纯文本内容", textFont, XBrushes.Black,
    new XRect(10, 10, page.Width - 20, page.Height - 20),
    XStringFormats.TopLeft);

// 保存到Silverlight独立存储
using (var fileStream = IsolatedStorageFile.GetUserStoreForApplication().CreateFile("result.pdf"))
{
    pdfDoc.Save(fileStream);
}
// 展示可通过Silverlight PDF查看控件加载独立存储内的文件

四、兼容性规避要点

  • 禁止通过NuGet安装PDFSharp的beta版本,仅使用1.32稳定版的预编译DLL或源码编译产物。
  • 确保项目Silverlight目标版本设为4或5(兼容.NET Framework 4),引用DLL时选择Silverlight程序集,而非.NET Framework版本。

内容的提问来源于stack exchange,提问作者user1987750

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 03:51:42