日韩欧美人妻无码精品白浆,www.大香蕉久久网,狠狠的日狠狠的操,日本好好热在线观看

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

C# 實(shí)戰(zhàn)指南:使用 iText7 高效處理 PDF 文件

admin
2025年4月19日 11:40 本文熱度 773

1. 引言

在開(kāi)發(fā)中,處理 PDF 文件是一個(gè)常見(jiàn)的需求,例如生成報(bào)告、填充表單、設(shè)置權(quán)限或簽名等。iText7 是一個(gè)功能強(qiáng)大的 PDF 操作庫(kù),支持多種 PDF 操作,包括表單填充、加密、數(shù)字簽名、分割與合并等。

本文將通過(guò)實(shí)戰(zhàn),詳細(xì)介紹如何使用 iText7 在 C# 中處理 PDF 文件,幫助快速上手并解決常見(jiàn)問(wèn)題。


2. 環(huán)境準(zhǔn)備

2.1 安裝 iText7

dotnet add package itext7 --version 9.1.0
dotnet add package itext7.font-asian --version 9.1.0
dotnet add package itext7.bouncy-castle-adapter --version 9.1.0

3. 使用 iText7 處理 PDF 文件

3.1 填充 PDF 表單并設(shè)置為只讀

打開(kāi)一個(gè) PDF 文件,填充表單字段,并將其設(shè)置為只讀:

using System;
using System.IO;
using iText.Kernel.Pdf;
using iText.Forms;
using iText.Forms.Fields;

// 輸入 PDF 文件路徑
using System.Reflection.PortableExecutable;

string src = "template.pdf";
// 輸出 PDF 文件路徑
string dest = "filled_form.pdf";

// 打開(kāi)現(xiàn)有的 PDF 文件
using (PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest)))
{
    // 獲取 PDF 表單
    PdfAcroForm form = PdfAcroForm.GetAcroForm(pdfDoc, true);

    // 填充表單字段
    form.GetField("Name").SetValue("Netshare").SetReadOnly(true);
    form.GetField("Date").SetValue("2025-04-19").SetReadOnly(true);
    form.GetField("Amount").SetValue("$1000").SetReadOnly(true);

    // 將表單字段設(shè)置為不可編輯
    form.FlattenFields();
}

Console.WriteLine("PDF 表單已填充并設(shè)置為只讀");

3.2 合并多個(gè) PDF 文件

using System;
using iText.Kernel.Pdf;

string[] pdfFiles = { "file1.pdf""file2.pdf""file3.pdf" };
string dest = "merged.pdf";

using (PdfDocument mergedPdf = new PdfDocument(new PdfWriter(dest)))
{
    foreach (stringfilein pdfFiles)
    {
        using (PdfDocument pdf = new PdfDocument(new PdfReader(file)))
        {
            pdf.CopyPagesTo(1, pdf.GetNumberOfPages(), mergedPdf);
        }
    }
}

Console.WriteLine("PDF 文件已成功合并");

3.3 分割 PDF 文件

using System;
using iText.Kernel.Pdf;

string src = "large.pdf";
string outputDir = "output/";

using (PdfDocument pdfDoc = new PdfDocument(new PdfReader(src)))
{
    for (int i = 1; i <= pdfDoc.GetNumberOfPages(); i++)
    {
        string dest = $"{outputDir}page-{i}.pdf";
        using (PdfDocument singlePagePdf = new PdfDocument(new PdfWriter(dest)))
        {
            pdfDoc.CopyPagesTo(i, i, singlePagePdf);
        }
    }
}

Console.WriteLine("PDF 文件已成功分割");

3.4 加密 PDF 文件

using System;
using iText.Kernel.Pdf;

string src = "document.pdf";
string dest = "encrypted.pdf";

WriterProperties props = new WriterProperties()
    .SetStandardEncryption(
        "user_password".GetBytes(),
        "owner_password".GetBytes(),
        EncryptionConstants.ALLOW_PRINTING,
        EncryptionConstants.ENCRYPTION_AES_256
    );

using (PdfWriter writer = new PdfWriter(dest, props))
using (PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), writer))
{
    Console.WriteLine("PDF 文件已加密");
}

4. 常見(jiàn)問(wèn)題及解決方案

4.1 表單字段名稱(chēng)不匹配

問(wèn)題描述:調(diào)用 GetField 時(shí)返回 null。
解決方案:確保字段名稱(chēng)與 PDF 表單中的實(shí)際名稱(chēng)一致,可以使用 PDF 編輯工具(如 Adobe Acrobat)檢查字段名稱(chēng)。

4.2 中文字體顯示問(wèn)題

問(wèn)題描述:填充的中文字符顯示為亂碼。
解決方案

  1. 1. 安裝 iText7 的字體支持包:
    dotnet add package itext7.font-asian
  2. 2. 在代碼中指定支持中文的字體:
    var font = PdfFontFactory.CreateFont(StandardFonts.HELVETICA);
    field.SetFont(font);

5. 總結(jié)

通過(guò)本文的實(shí)戰(zhàn)案例,您可以使用 iText7 在 C# 中輕松實(shí)現(xiàn) PDF 表單填充、文件合并、分割和加密等操作。iText7 提供了強(qiáng)大的功能,適用于各種復(fù)雜的 PDF 處理場(chǎng)景。


該文章在 2025/4/19 11:40:42 編輯過(guò)
關(guān)鍵字查詢(xún)
相關(guān)文章
正在查詢(xún)...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專(zhuān)業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車(chē)隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開(kāi)發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類(lèi)企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷(xiāo)售管理,采購(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í)間、不限用戶(hù)的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved

亚洲欧美日韩视频图片| 天天摸天天操17| 久久久人体艺术| 少妇滥情久久久| 国产亚川久久久久| 日本无码人妻在线一区二区| 国产在线拍揄自揄拍精品| 天堂avcom| 99久久精品视频频| 黄AV在线看| 天堂AV资源在线观看| 日本国产欧美在线视频| 亚州AV88一区二区三区四区| 亚洲 欧美 国产 日韩 图片| haodiaocao的视频这里看| 久久久久久久粉嫩| 91精品国产色综合亚洲四虎| 蜜臀久久国产精品| 欧美使劲插久久| 日本男人操逼大鸡巴视频| 国产精品资源久久| 亚洲无码中文字幕在线综合 | 美女扒开腿给男生桶国产视频| 精品一区内二| 亚洲黃片在线| 欧美人妻 后入| 日韩日P播放| 嫩草亚洲小泬久久夂| 打炮成人片| 亚洲AV正在进入| 精品免费小视频| 亚洲成人77777在线播放| 精品自无码| 丝袜抽插av传媒一区| 性生活久久免费网站| 久久精品经典| 国产精品免费视频久久免费精品免费| 欧美日韩人妻人澡| 凹凸视频在线看妻| 色人人人人澡| 操沈樵在线|