LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

C# PdfSharp創(chuàng)建和編輯PDF文檔

admin
2024年6月1日 14:35 本文熱度 1366

摘要


在C#開發(fā)中,生成和編輯PDF文檔是一個(gè)常見的需求,而PdfSharp是一個(gè)流行的庫(kù),可用于創(chuàng)建、編輯和操作PDF文件。

正文


首先,你需要在你的C#項(xiàng)目中安裝PdfSharp庫(kù)。你可以使用NuGet包管理器來安裝它。

1.創(chuàng)建一個(gè)pdf文件

public Form1()

{

    InitializeComponent();

    //初使化字體

    GlobalFontSettings.FontResolver = new FontProvider();

}


private void btnCreatePdf_Click(object sender, EventArgs e)

{

    // 創(chuàng)建一個(gè)新的PDF文檔

    PdfDocument document = new PdfDocument();


    // 添加一個(gè)空白頁(yè)面

    PdfPage page = document.AddPage();


    // 獲取頁(yè)面的繪圖上下文

    XGraphics gfx = XGraphics.FromPdfPage(page);


    // 添加文本到頁(yè)面

     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");

}

創(chuàng)建一個(gè)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)

{

    // 創(chuàng)建一個(gè)新的PDF文檔

    PdfDocument document = new PdfDocument();

    PdfPage page = document.AddPage();

    XGraphics gfx = XGraphics.FromPdfPage(page);


    // 添加圖像到頁(yè)面

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

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


    // 保存PDF文檔

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

}

3.合并多個(gè)Pdf

private void btnMergePdf_Click(object sender, EventArgs e)

{

    // 創(chuàng)建一個(gè)新的PDF文檔

    PdfDocument mergedDocument = new PdfDocument();


    // 打開第一個(gè)PDF文檔

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


    // 將第一個(gè)文檔的頁(yè)面添加到合并文檔

    foreach (PdfPage page in firstDocument.Pages)

    {

        mergedDocument.AddPage(page);

    }


    // 打開第二個(gè)PDF文檔

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


    // 將第二個(gè)文檔的頁(yè)面添加到合并文檔

    foreach (PdfPage page in secondDocument.Pages)

    {

        mergedDocument.AddPage(page);

    }


    // 保存合并后的文檔

    mergedDocument.Save("merged_documents.pdf");

}


該文章在 2024/6/1 15:27:28 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

黄频国产免费高清视频,久久不卡精品中文字幕一区,激情五月天AV电影在线观看,欧美国产韩国日本一区二区
婷婷六月国产在线 | 亚洲人成在线亚洲人成在线 | 五月天亚洲综合在线 | 久久人人爽人人澡人人高潮AV | 天天看天天在线精品 | 日韩精精品一区二区三区四区 |