LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

C# PdfSharp创建和编辑PDF文档

admin
2024年6月1日 14:35 本文热度 246

摘要


在C#开发中,生成和编辑PDF文档是一个常见的需求,而PdfSharp是一个流行的库,可用于创建、编辑和操作PDF文件。

正文


首先,你需要在你的C#项目中安装PdfSharp库。你可以使用NuGet包管理器来安装它。

1.创建一个pdf文件

public Form1()

{

    InitializeComponent();

    //初使化字体

    GlobalFontSettings.FontResolver = new FontProvider();

}


private void btnCreatePdf_Click(object sender, EventArgs e)

{

    // 创建一个新的PDF文档

    PdfDocument document = new PdfDocument();


    // 添加一个空白页面

    PdfPage page = document.AddPage();


    // 获取页面的绘图上下文

    XGraphics gfx = XGraphics.FromPdfPage(page);


    // 添加文本到页面

     XFont font = new XFont("Arial", 20, XFontStyleEx.Italic);


    XTextFormatter tf = new XTextFormatter(gfx);

    tf.DrawString("Hello, PdfSharp!", font, XBrushes.Black, new XRect(10, 10, page.Width, page.Height), XStringFormats.TopLeft);


    // 保存PDF文档到文件

    document.Save("example-1.pdf");

}

创建一个Provider

public class FontProvider: IFontResolver

{

    public string DefaultFontName => throw new NotImplementedException();


    public byte[] GetFont(string faceName)

    {

        using (var ms = new MemoryStream())

        {

            using (var fs = File.Open(faceName, FileMode.Open))

            {

                fs.CopyTo(ms);

                ms.Position = 0;

                return ms.ToArray();

            }

        }

    }


    public FontResolverInfo ResolveTypeface(string familyName, bool isBold, bool isItalic)

    {

        if (familyName == "Arial")

        {

            if (isBold && isItalic)

            {

                return new FontResolverInfo("arial.ttf");

            }

            else if (isBold)

            {

                return new FontResolverInfo("arial.ttf");

            }

            else if (isItalic)

            {

                return new FontResolverInfo("arial.ttf");

            }

            else

            {

                return new FontResolverInfo("arial.ttf");

            }

        }

        return null;

    }

}

2.添加图片到Pdf

private void btnAddImg_Click(object sender, EventArgs e)

{

    // 创建一个新的PDF文档

    PdfDocument document = new PdfDocument();

    PdfPage page = document.AddPage();

    XGraphics gfx = XGraphics.FromPdfPage(page);


    // 添加图像到页面

    XImage image = XImage.FromFile("feGsv0kJ6CEBng3.png");

    gfx.DrawImage(image, 10, 10, 200, 100);


    // 保存PDF文档

    document.Save("image_example-1.pdf");

}

3.合并多个Pdf

private void btnMergePdf_Click(object sender, EventArgs e)

{

    // 创建一个新的PDF文档

    PdfDocument mergedDocument = new PdfDocument();


    // 打开第一个PDF文档

    PdfDocument firstDocument = PdfReader.Open("example-1.pdf", PdfDocumentOpenMode.Import);


    // 将第一个文档的页面添加到合并文档

    foreach (PdfPage page in firstDocument.Pages)

    {

        mergedDocument.AddPage(page);

    }


    // 打开第二个PDF文档

    PdfDocument secondDocument = PdfReader.Open("image_example-1.pdf", PdfDocumentOpenMode.Import);


    // 将第二个文档的页面添加到合并文档

    foreach (PdfPage page in secondDocument.Pages)

    {

        mergedDocument.AddPage(page);

    }


    // 保存合并后的文档

    mergedDocument.Save("merged_documents.pdf");

}


该文章在 2024/6/1 15:27:28 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved