Spire.PDF for .NET【文档操作】演示:创建 PDF 文档

2024-09-03 21:52

本文主要是介绍Spire.PDF for .NET【文档操作】演示:创建 PDF 文档,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

通过代码创建 PDF 文档具有多种优势。例如,您可以轻松合并动态内容,如用户输入、数据库记录或实时数据。基于代码的 PDF 生成允许更大的自定义和自动化,最大限度地减少创建高度定制文档时的手动干预。在本文中,您将学习如何使用Spire.PDF for .NET在 C# 和 VB.NET 中从头创建 PDF 文档。

Spire.PDF for .NET 是一款独立 PDF 控件,用于 .NET 程序中创建、编辑和操作 PDF 文档。使用 Spire.PDF 类库,开发人员可以新建一个 PDF 文档或者对现有的 PDF 文档进行处理,且无需安装 Adobe Acrobat。

E-iceblue 功能类库Spire 系列文档处理组件均由中国本土团队研发,不依赖第三方软件,不受其他国家的技术或法律法规限制,同时适配国产操作系统如中科方德、中标麒麟等,兼容国产文档处理软件 WPS(如 .wps/.et/.dps 等格式

Spire.PDF for.net下载icon-default.png?t=N7T8https://work.weixin.qq.com/ca/cawcde0267a7a4be49  

安装 Spire.PDF for .NET

首先,您需要将 Spire.PDF for.NET 包中包含的 DLL 文件作为引用添加到您的 .NET 项目中。 以通过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 文档。以下是详细步骤。

  • 创建一个PdfDocument对象。
  • 使用PdfDocument.Pages.Add()方法添加页面。
  • 创建画笔和字体对象。
  • 使用PdfPageBase.Canvas.DrawString()方法在页面上的指定坐标处绘制字符串。
  • 创建一个PdfTextWidget对象来保存一大块文本。
  • 使用PdfTextWidget.Draw()方法在页面上的指定位置绘制文本小部件
  • 使用PdfDocument.Save()方法将文档保存为 PDF 文件。

【C#】

using Spire.Pdf;
using Spire.Pdf.Graphics;
using System.Drawing;namespace CreatePdfDocument
{
class Program
{
static void Main(string[] args)
{
//Create a PdfDocument object
PdfDocument doc = new PdfDocument();//Add a page
PdfPageBase page = doc.Pages.Add(PdfPageSize.A4, new PdfMargins(35f));//Specify heading text
String titleText = "What is MySQL";//Create solid brushes
PdfSolidBrush titleBrush = new PdfSolidBrush(new PdfRGBColor(Color.Blue));
PdfSolidBrush paraBrush = new PdfSolidBrush(new PdfRGBColor(Color.Black));//Create true type fonts
PdfTrueTypeFont titleFont = new PdfTrueTypeFont(new Font("Times New Roman", 18f, FontStyle.Bold),true);
PdfTrueTypeFont paraFont = new PdfTrueTypeFont(new Font("Times New Roman", 12f, FontStyle.Regular), true);//Set the text alignment via PdfStringFormat class
PdfStringFormat format = new PdfStringFormat();
format.Alignment = PdfTextAlignment.Center;//Draw heading on the center of the page
page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format);//Get paragraph content from a .txt file
string paraText = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt");//Create a PdfTextWidget object to hold the paragrah content
PdfTextWidget widget = new PdfTextWidget(paraText, paraFont, paraBrush);//Create a rectangle where the paragraph content will be placed
RectangleF rect = new RectangleF(0, 50, page.Canvas.ClientSize.Width, page.Canvas.ClientSize.Height);//Set the PdfLayoutType to Paginate to make the content paginated automatically
PdfTextLayout layout = new PdfTextLayout();
layout.Layout = PdfLayoutType.Paginate;//Draw the widget on the page
widget.Draw(page, rect, layout);//Save to file
doc.SaveToFile("CreatePdfDocument.pdf");
doc.Dispose();
}
}
}

【VB.NET】

Imports Spire.Pdf
Imports Spire.Pdf.Graphics
Imports System.DrawingNamespace CreatePdfDocument
Class Program
Shared Sub Main(ByVal args() As String)
'Create a PdfDocument object
Dim doc As PdfDocument = New PdfDocument()'Add a page
Dim page As PdfPageBase = doc.Pages.Add(PdfPageSize.A4,New PdfMargins(35f))'Specify heading text
Dim titleText As String = "What is MySQL"'Create solid brushes
Dim titleBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Blue))
Dim paraBrush As PdfSolidBrush = New PdfSolidBrush(New PdfRGBColor(Color.Black))'Create true type fonts
Dim titleFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Times New Roman",18f,FontStyle.Bold),True)
Dim paraFont As PdfTrueTypeFont = New PdfTrueTypeFont(New Font("Times New Roman",12f,FontStyle.Regular),True)'Set the text alignment via PdfStringFormat class
Dim format As PdfStringFormat = New PdfStringFormat()
format.Alignment = PdfTextAlignment.Center'Draw heading on the center of the page
page.Canvas.DrawString(titleText, titleFont, titleBrush, page.Canvas.ClientSize.Width / 2, 20, format)'Get paragraph content from a .txt file
Dim paraText As String = File.ReadAllText("C:\\Users\\Administrator\\Desktop\\content.txt")'Create a PdfTextWidget object to hold the paragrah content
Dim widget As PdfTextWidget = New PdfTextWidget(paraText,paraFont,paraBrush)'Create a rectangle where the paragraph content will be placed
Dim rect As RectangleF = New RectangleF(0,50,page.Canvas.ClientSize.Width,page.Canvas.ClientSize.Height)'Set the PdfLayoutType to Paginate to make the content paginated automatically
Dim layout As PdfTextLayout = New PdfTextLayout()
lay.Layout = PdfLayoutType.Paginate'Draw the widget on the page
widget.Draw(page, rect, layout)'Save to file
doc.SaveToFile("CreatePdfDocument.pdf")
doc.Dispose()
End Sub
End Class
End Namespace

C#/VB.NET:创建 PDF 文档

这篇关于Spire.PDF for .NET【文档操作】演示:创建 PDF 文档的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1134147

相关文章

SpringBoot操作spark处理hdfs文件的操作方法

《SpringBoot操作spark处理hdfs文件的操作方法》本文介绍了如何使用SpringBoot操作Spark处理HDFS文件,包括导入依赖、配置Spark信息、编写Controller和Ser... 目录SpringBoot操作spark处理hdfs文件1、导入依赖2、配置spark信息3、cont

基于Python实现PDF动画翻页效果的阅读器

《基于Python实现PDF动画翻页效果的阅读器》在这篇博客中,我们将深入分析一个基于wxPython实现的PDF阅读器程序,该程序支持加载PDF文件并显示页面内容,同时支持页面切换动画效果,文中有详... 目录全部代码代码结构初始化 UI 界面加载 PDF 文件显示 PDF 页面页面切换动画运行效果总结主

使用JavaScript操作本地存储

《使用JavaScript操作本地存储》这篇文章主要为大家详细介绍了JavaScript中操作本地存储的相关知识,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录本地存储:localStorage 和 sessionStorage基本使用方法1. localStorage

使用JavaScript将PDF页面中的标注扁平化的操作指南

《使用JavaScript将PDF页面中的标注扁平化的操作指南》扁平化(flatten)操作可以将标注作为矢量图形包含在PDF页面的内容中,使其不可编辑,DynamsoftDocumentViewer... 目录使用Dynamsoft Document Viewer打开一个PDF文件并启用标注添加功能扁平化

JavaScript DOM操作与事件处理方法

《JavaScriptDOM操作与事件处理方法》本文通过一系列代码片段,详细介绍了如何使用JavaScript进行DOM操作、事件处理、属性操作、内容操作、尺寸和位置获取,以及实现简单的动画效果,涵... 目录前言1. 类名操作代码片段代码解析2. 属性操作代码片段代码解析3. 内容操作代码片段代码解析4.

SpringBoot3集成swagger文档的使用方法

《SpringBoot3集成swagger文档的使用方法》本文介绍了Swagger的诞生背景、主要功能以及如何在SpringBoot3中集成Swagger文档,Swagger可以帮助自动生成API文档... 目录一、前言1. API 文档自动生成2. 交互式 API 测试3. API 设计和开发协作二、使用

手把手教你idea中创建一个javaweb(webapp)项目详细图文教程

《手把手教你idea中创建一个javaweb(webapp)项目详细图文教程》:本文主要介绍如何使用IntelliJIDEA创建一个Maven项目,并配置Tomcat服务器进行运行,过程包括创建... 1.启动idea2.创建项目模板点击项目-新建项目-选择maven,显示如下页面输入项目名称,选择

SpringBoot使用Apache POI库读取Excel文件的操作详解

《SpringBoot使用ApachePOI库读取Excel文件的操作详解》在日常开发中,我们经常需要处理Excel文件中的数据,无论是从数据库导入数据、处理数据报表,还是批量生成数据,都可能会遇到... 目录项目背景依赖导入读取Excel模板的实现代码实现代码解析ExcelDemoInfoDTO 数据传输

Python使用asyncio实现异步操作的示例

《Python使用asyncio实现异步操作的示例》本文主要介绍了Python使用asyncio实现异步操作的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录1. 基础概念2. 实现异步 I/O 的步骤2.1 定义异步函数2.2 使用 await 等待异

使用Python制作一个PDF批量加密工具

《使用Python制作一个PDF批量加密工具》PDF批量加密‌是一种保护PDF文件安全性的方法,通过为多个PDF文件设置相同的密码,防止未经授权的用户访问这些文件,下面我们来看看如何使用Python制... 目录1.简介2.运行效果3.相关源码1.简介一个python写的PDF批量加密工具。PDF批量加密