VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > c#编程 >
  • C#/VB.NET 创建 PDF 文档

通过代码创建 PDF 文档有许多好处。例如,您可以轻松地合并动态内容,如用户输入、数据库记录或实时数据。通过使用代码生成的 PDF 文件可以实现更高程度的定制和自动化,从而最大限度地减少手动干预以创建高度定制化的文档。在本教程中,我们将为您展示如何使用 Spire.PDF for .NET 在 C# 和 VB.NET 中从头开始创建 PDF 文档

安装 Spire.PDF for .NET

首先,您需要添加 Spire.PDF for .NET 包中包含的 DLL 文件作为 .NET 项目中的引用。DLL 文件可以从此链接下载或通过 NuGet 安装。

PM> Install-Package Spire.PDF

背景知识

Spire.PDF 中的页面(由 PdfPageBase 类表示)由内容区域和四周的页边距组成。内容区是供用户编写各种内容的区域,页边距通常为空白边缘。

如下图所示,页面上坐标系的原点位于内容区域的左上角,x 轴水平向右延伸,y 轴垂直向下延伸。添加到内容区域的所有元素都必须基于指定的坐标。

C#/VB.NET 创建 PDF 文档

此外,下表列出了重要的类和方法,这些类和方法可以帮助您轻松理解下一节中提供的代码片段。

成员 描述
PdfDocument 类 表示 PDF 文档模型。
PdfPageBase 类 表示 PDF 文档中的页面。
PdfSolidBrush 类 表示用纯色填充任何对象的笔刷。
PdfTrueTypeFont 类 表示 true Type 字体。
PdfStringFormat 类 表示文本格式信息,如对齐方式、字符间距和缩进。
PdfTextWidget 类 表示具有跨多页功能的文本区域。
PdfTextLayout 类 表示文本布局信息。
PdfDocument.Pages.Add() 方法 将页面添加到PDF文档中。
PdfPageBase.Canvas.DrawString() 方法 使用指定的字体和笔刷对象在页面上的指定位置绘制字符串。
PdfTextWidget.Draw() 方法 在指定位置绘制页面上的文本小部件。
PdfDocument.Save() 方法 将文档保存为 PDF 文件。

在 C# 和 VB.NET 中从头开始创建 PDF 文档

虽然 Spire.PDF for .NET 支持向 PDF 文档中添加各种元素,但本文仅演示如何使用纯文本创建 PDF 文档。以下是详细的步骤。

  • C#
  • VB.NET
using Spire.Pdf;
using Spire.Pdf.Graphics;
using System;
using System.Drawing;
using System.IO;

namespace CreatePdfDocument
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建PdfDocument对象
            PdfDocument doc = new PdfDocument();

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

            //指定标题文本
            String titleText = "什么是AI?";

            //创建实体笔刷
            PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
            PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));

            //创建true type字体
            PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("宋体", 18f, FontStyle.Bold), true);
            PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("宋体", 12f, FontStyle.Regular), true);

            //通过PdfStringFormat类设置文本对齐方式
            PdfStringFormat format = new PdfStringFormat();
            format.Alignment = PdfTextAlignment.Center;

            //在页面中心绘制标题
            page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);

            //从.txt文件中获取段落内容
            string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\文本.txt");

            //创建一个PdfTextWidget对象来保存段落内容
            PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);

            //创建一个放置段落内容的矩形
            RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);

            //将PdfLayoutType设置为Paginate以使内容自动分页
            PdfTextLayout layout = new PdfTextLayout();
            layout.Layout = PdfLayoutType.Paginate;

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

            //保存文件
            doc.SaveToFile("创建PDF文档.pdf");
            doc.Dispose();
        }
    }
}

C#/VB.NET 创建 PDF 文档

申请临时 License

如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请联系销售获取有效期 30 天的临时许可证。

出处:https://www.e-iceblue.cn/document/create-a-new-pdf-document.html


相关教程