最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

C#/VB.NET創(chuàng)建PDF文檔的示例代碼

 更新時間:2023年12月17日 09:00:51   作者:E-iceblue  
通過代碼創(chuàng)建 PDF 文檔有許多好處,所以本文將為大家詳細介紹一下如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中從頭開始創(chuàng)建 PDF 文檔,需要的可以參考下

通過代碼創(chuàng)建 PDF 文檔有許多好處。例如,您可以輕松地合并動態(tài)內(nèi)容,如用戶輸入、數(shù)據(jù)庫記錄或?qū)崟r數(shù)據(jù)。通過使用代碼生成的 PDF 文件可以實現(xiàn)更高程度的定制和自動化,從而最大限度地減少手動干預(yù)以創(chuàng)建高度定制化的文檔。在本教程中,我們將為您展示如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中從頭開始創(chuàng)建 PDF 文檔。

安裝 Spire.PDF for .NET

首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作為 .NET 項目中的引用。DLL 文件可以從此鏈接下載或通過 NuGet 安裝。

PM> Install-Package Spire.PDF

背景知識

Spire.PDF 中的頁面(由 PdfPageBase 類表示)由內(nèi)容區(qū)域和四周的頁邊距組成。內(nèi)容區(qū)是供用戶編寫各種內(nèi)容的區(qū)域,頁邊距通常為空白邊緣。

如下圖所示,頁面上坐標系的原點位于內(nèi)容區(qū)域的左上角,x 軸水平向右延伸,y 軸垂直向下延伸。添加到內(nèi)容區(qū)域的所有元素都必須基于指定的坐標。

此外,下表列出了重要的類和方法,這些類和方法可以幫助您輕松理解下一節(jié)中提供的代碼片段。

成員描述
PdfDocument 類表示 PDF 文檔模型。
PdfPageBase 類表示 PDF 文檔中的頁面。
PdfSolidBrush 類表示用純色填充任何對象的筆刷。
PdfTrueTypeFont 類表示 true Type 字體。
PdfStringFormat 類表示文本格式信息,如對齊方式、字符間距和縮進。
PdfTextWidget 類表示具有跨多頁功能的文本區(qū)域。
PdfTextLayout 類表示文本布局信息。
PdfDocument.Pages.Add() 方法將頁面添加到PDF文檔中。
PdfPageBase.Canvas.DrawString() 方法使用指定的字體和筆刷對象在頁面上的指定位置繪制字符串。
PdfTextWidget.Draw() 方法在指定位置繪制頁面上的文本小部件。
PdfDocument.Save() 方法將文檔保存為 PDF 文件。

在 C# 和 VB.NET 中從頭開始創(chuàng)建 PDF 文檔

雖然 Spire.PDF for .NET 支持向 PDF 文檔中添加各種元素,但本文僅演示如何使用純文本創(chuàng)建 PDF 文檔。以下是詳細的步驟。

  • 創(chuàng)建 PdfDocument 對象。
  • 使用 PdfDocument.Pages.Add() 方法添加頁面。
  • 創(chuàng)建筆刷和字體對象。
  • 使用 PdfPageBase.Canvas.DrawString() 方法在頁面上指定坐標處繪制字符串。
  • 創(chuàng)建一個 PdfTextWidget 對象來容納一塊文本。
  • 使用 PdfTextWidget.Draw() 方法在頁面上的指定位置繪制文本小部件
  • 使用 PdfDocument.Save() 方法將文檔保存為 PDF 文件。

C#

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.IO;

namespace CreatePdfDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            //創(chuàng)建PdfDocument對象
            PdfDocument doc = new PdfDocument();

            //添加頁面
            PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));

            //指定標題文本
            String titleText = "什么是AI?";

            //創(chuàng)建實體筆刷
            PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
            PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));

            //創(chuàng)建true type字體
            PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("宋體", 18f, FontStyle.Bold), true);
            PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("宋體", 12f, FontStyle.Regular), true);

            //通過PdfStringFormat類設(shè)置文本對齊方式
            PdfStringFormat format = new PdfStringFormat();
            format.Alignment = PdfTextAlignment.Center;

            //在頁面中心繪制標題
            page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);

            //從.txt文件中獲取段落內(nèi)容
            string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\文本.txt");

            //創(chuàng)建一個PdfTextWidget對象來保存段落內(nèi)容
            PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);

            //創(chuàng)建一個放置段落內(nèi)容的矩形
            RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);

            //將PdfLayoutType設(shè)置為Paginate以使內(nèi)容自動分頁
            PdfTextLayout layout = new PdfTextLayout();
            layout.Layout = PdfLayoutType.Paginate;

            //在頁面上繪制小部件
            widget.Draw(page, rect, layout);

            //保存文件
            doc.SaveToFile("創(chuàng)建PDF文檔.pdf");
            doc.Dispose();
        }
    }
}

VB.NET

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.Drawing
Imports System.IO

Namespace CreatePdfDocument
    Friend Class Program
        Private Shared Sub Main(ByVal args As String())
            '創(chuàng)建PdfDocument對象
            Dim doc As PdfDocument = New PdfDocument()

            '添加頁面
            Dim page As PdfPageBase = doc.Pages.Add(PdfPageSize.A4, New PdfMargins(35F))

            '指定標題文本
            Dim titleText = "什么是AI?"

            '創(chuàng)建實體筆刷
            Dim titleBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Blue))
            Dim paraBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Black))

            '創(chuàng)建true type字體
            Dim titleFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("宋體", 18F, FontStyle.Bold), True)
            Dim paraFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("宋體", 12F, FontStyle.Regular), True)

            '通過PdfStringFormat類設(shè)置文本對齊方式
            Dim format As PdfStringFormat = New PdfStringFormat()
            format.Alignment = PdfTextAlignment.Center

            '在頁面中心繪制標題
            page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format)

            '從.txt文件中獲取段落內(nèi)容
            Dim paraText = File.ReadAllText("C:\Users\Administrator\Desktop\文本.txt")

            '創(chuàng)建一個PdfTextWidget對象來保存段落內(nèi)容
            Dim widget As PdfTextWidget = New PdfTextWidget(paraText, paraFont, paraBrush)

            '創(chuàng)建一個放置段落內(nèi)容的矩形
            Dim rect As RectangleF = New RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height)

            '將PdfLayoutType設(shè)置為Paginate以使內(nèi)容自動分頁
            Dim layout As PdfTextLayout = New PdfTextLayout()
            layout.Layout = PdfLayoutType.Paginate

            '在頁面上繪制小部件
            widget.Draw(page, rect, layout)

            '保存文件
            doc.SaveToFile("創(chuàng)建PDF文檔.pdf")
            doc.Dispose()
        End Sub
    End Class
End Namespace

效果圖

到此這篇關(guān)于C#/VB.NET創(chuàng)建PDF文檔的示例代碼的文章就介紹到這了,更多相關(guān)C#創(chuàng)建PDF內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • C#線程啟動的幾種實現(xiàn)方法小結(jié)

    C#線程啟動的幾種實現(xiàn)方法小結(jié)

    在C#中創(chuàng)建新線程執(zhí)行代碼的幾種方法,包括Thread、Task、ThreadPool等,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-07-07
  • C#中Array與ArrayList用法及轉(zhuǎn)換的方法

    C#中Array與ArrayList用法及轉(zhuǎn)換的方法

    C#中Array與ArrayList用法及轉(zhuǎn)換的方法,需要的朋友可以參考一下
    2013-03-03
  • C#中感嘆號(!) 的作用總結(jié)

    C#中感嘆號(!) 的作用總結(jié)

    這篇文章主要給大家總結(jié)介紹了C#中感嘆號(!) 的作用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • C#如何在自定義事件里傳遞自定義數(shù)據(jù)

    C#如何在自定義事件里傳遞自定義數(shù)據(jù)

    相信很多小伙伴都知道傳值的一些方式,比如構(gòu)造方法傳值,屬性傳值等,這篇文章主要來給大家分享的另一種方式,通過自定義事件來傳值,感興趣的可以了解下
    2024-12-12
  • C# Socket的TCP通訊的實例代碼

    C# Socket的TCP通訊的實例代碼

    本篇文章主要介紹了C# Socket的TCP通訊,socket通訊方式有兩種:同步和異步,詳細的介紹了這兩種方法,有興趣的可以了解一下。
    2016-12-12
  • C#實現(xiàn)從Word文檔和各種Word元素中自動提取文本

    C#實現(xiàn)從Word文檔和各種Word元素中自動提取文本

    手動提取文本既費時又容易出錯,尤其是在處理較長或復(fù)雜的Word文檔時,這篇文章將探討如何使用C# 從Word文檔中提取文本,我們將涵蓋不同方面的內(nèi)容,希望對大家有所幫助
    2025-11-11
  • C#中使用OpenCV的常用函數(shù)的常用示例

    C#中使用OpenCV的常用函數(shù)的常用示例

    這篇文章主要介紹了C#中使用OpenCV的常用函數(shù)的常用示例,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-02-02
  • 在C# WinForm項目中跨.cs文件傳值的六種常用方案

    在C# WinForm項目中跨.cs文件傳值的六種常用方案

    你想知道在 C# WinForm 項目中,不同.cs 文件之間傳遞數(shù)據(jù) 的通用處理方法,我會結(jié)合串口調(diào)試工具的場景,講解 6 種常用方案(從簡單到規(guī)范),并說明每種方案的適用場景、優(yōu)缺點和具體實現(xiàn),需要的朋友可以參考下
    2026-01-01
  • C#實現(xiàn)多個計時器記錄不同定時時間

    C#實現(xiàn)多個計時器記錄不同定時時間

    這篇文章主要為大家詳細介紹了C#實現(xiàn)多個計時器記錄不同定時時間,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-12-12
  • C#程序調(diào)用cmd.exe執(zhí)行命令

    C#程序調(diào)用cmd.exe執(zhí)行命令

    這篇文章介紹了C#程序調(diào)用cmd.exe執(zhí)行命令的方法,文中通過示例代碼介紹的非常詳細。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03

最新評論

曲松县| 漳平市| 抚宁县| 临清市| 河北区| 麟游县| 靖远县| 郓城县| 汝南县| 卓资县| 隆德县| 成都市| 建水县| 汤原县| 阳高县| 顺义区| 岱山县| 富蕴县| 石楼县| 西昌市| 江阴市| 蒙山县| 阜新市| 江城| 嘉义县| 大关县| 天镇县| 许昌县| 寿宁县| 宁明县| 屯门区| 北宁市| 上杭县| 攀枝花市| 突泉县| 石屏县| 若羌县| 武川县| 岳西县| 嘉祥县| 宜兰市|