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

可生成含多可选内容组(OCG)PDF的.NET开源库有哪些?

可生成带可选内容组(OCG)PDF的.NET开源库

以下是几个能满足你需求的.NET开源库,均支持创建可切换显示/隐藏的PDF图层:

iTextSharp(iText 7 .NET)

  • 成熟的PDF处理方案,原生支持OCG(PDF图层)功能。通过PdfLayer类定义不同图层,将文本、图像等内容绑定到对应图层后,用户可在PDF阅读器中切换显示状态。
  • 核心代码示例:
using iText.Kernel.Pdf;
using iText.Kernel.Pdf.Layer;
using iText.Layout;
using iText.Layout.Element;

var writer = new PdfWriter("分层文档.pdf");
var pdfDoc = new PdfDocument(writer);
var document = new Document(pdfDoc);

// 创建两个可选内容组
PdfLayer textLayer = new PdfLayer("文本层", pdfDoc);
PdfLayer schematicLayer = new PdfLayer("原理图层", pdfDoc);

// 向文本层添加内容
document.Add(new Paragraph("这是可隐藏的文本内容").SetLayer(textLayer));
// 向原理图层添加图像
document.Add(new Image(ImageDataFactory.Create("schematic.png")).SetLayer(schematicLayer));

document.Close();

PdfSharp

  • 轻量级PDF生成库,通过PdfOptionalContentGroup类管理图层,API简洁易懂,适合快速实现基础的分层PDF需求。
  • 核心代码示例:
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.Advanced;

var document = new PdfDocument();
var page = document.AddPage();
var gfx = XGraphics.FromPdfPage(page);

// 创建可选内容组
var textGroup = new PdfOptionalContentGroup(document, "文本层");
var schematicGroup = new PdfOptionalContentGroup(document, "原理图层");

// 将文本关联到对应图层
var text = new XText("示例文本内容");
text.OptionalContentGroup = textGroup;
gfx.DrawString(text.Text, new XFont("Arial", 12), XBrushes.Black, new XPoint(10, 10), XStringFormats.Default);

// 将图像关联到对应图层
var image = XImage.FromFile("schematic.png");
var imageRect = new XRect(10, 30, image.PixelWidth, image.PixelHeight);
gfx.DrawImage(image, imageRect, XGraphicsUnit.Point, XImageQuality.Default, schematicGroup);

document.Save("分层文档.pdf");

QuestPDF

  • 现代声明式PDF生成库,最新版本已支持OCG功能,语法直观简洁,适合.NET Core/.NET 5+项目,无需复杂的底层操作即可创建分层PDF。
  • 核心代码示例:
using QuestPDF.Fluent;
using QuestPDF.Helpers;
using QuestPDF.Infrastructure;

Document.Create(container =>
{
    container.Page(page =>
    {
        page.Content()
           .Layer("文本层", layer =>
           {
               layer.Text("可切换显示的文本").FontSize(14).PaddingBottom(20);
           })
           .Layer("原理图层", layer =>
           {
               layer.Image("schematic.png").FitWidth();
           });
    });
})
.GeneratePdf("分层文档.pdf");

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.23 00:15:59