.net core利用PdfSharpCore操作PDF实例教程

以下是关于“.NET Core 利用 PdfSharpCore 操作 PDF 实例教程”的完整攻略:

1. 准备工作

在使用 PdfSharpCore 操作 PDF 之前,进行准备工作:

  • 安装 .NET Core SDK。
  • 安装 PdfSharpCore NuGet 包。

2. 创建 PDF 文件

要创建 PDF 文件,可以使用 PdfSharpCore 库中的 PdfDocument 类。可以按照以下步骤创建 PDF 文件:

using PdfSharpCore.Pdf;

// 创建 PDF 文档
var document = new PdfDocument();

// 添加一页
var page = document.AddPage();

// 获取页面的图形对象
var gfx = XGraphics.FromPdfPage(page);

// 绘制文本
gfx.DrawString("Hello, World!", new XFont("Verdana", 20), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

// 保存 PDF 文件
document.Save("output.pdf");

在这个示例中,我们创建了一个 PDF 文档,并向其中添加了一张页面。然后,我们获取了页面的图形对象,并在页面上绘制了一段文本。最后,我们将 PDF 文件保存到本地磁盘上。

3. 打开 PDF 文件

要打开 PDF 文件,可以使用SharpCore 库中的 PdfDocument 类。可以按照步骤打开 PDF 文件:

using PdfSharpCore.Pdf.IO;

// 打开 PDF 文件
var document = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);

// 获取第一页
var page = document.Pages[0];

// 获取页面的图形对象
var gfx = XGraphics.FromPdfPage(page);

// 绘制文本
gfx.DrawString("Hello, World!", new XFont("Verdana", 20), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

// 保存 PDF 文件
document.Save("output.pdf");

在这个示例中,我们打开了一个 PDF 文件,并获取了其中的第一页。然后,我们获取了页面的图形对象,并在页面上绘制了一段文本最后,我们将 PDF 文件保存到本地磁盘上。

4. 示例说明

4.1. 创建 PDF 文件示例

在这个示例中,我们将创建一个 PDF 文件,并在其中添加一张页面和一段文本。

using PdfSharpCore.Pdf;

// 创建 PDF 文档
var document = new PdfDocument();

// 添加一页
var page = document.AddPage();

// 获取页面的图形对象
var gfx = XGraphics.FromPdfPage(page);

// 绘制文本
gfx.DrawString("Hello,!", new XFont("Verdana", 20), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

// 保存 PDF 文件
document.Save("output.pdf");

现在,我们可以在本地磁盘上找到名为 output.pdf 的 PDF 文件,其中包含一张页面和一段文本

4.2. 打开 PDF 文件示例

在这个示例中,我们将打开一个 PDF 文件,并在其中的第一页上添加一段文本。

using PdfSharpCore.Pdf.IO;

// 打开 PDF 文件
var document = PdfReader.Open("input.pdf", PdfDocumentOpenMode.Modify);

// 获取第一页
var page = document.Pages[0];

// 获取页面的图形对象
var gfx = XGraphics.FromPdfPage(page);

// 绘制文本
gfx.DrawString("Hello, World!", new XFont("Verdana", 20), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

// 保存 PDF 文件
document.Save("output.pdf");

现在,我们可以在本地磁盘上找到名为 output.pdf 的 PDF 文件,其中包含原始 PDF 文件的第一页和一段文本。

5. 结论

通过以上步骤,我们可以使用 PdfSharpCore 库在 .NET Core 中创建和打开 PDF 文件,并在其中添加文本和图形。

示例说明

示例 1

在这个示例中,我们将创建一个 PDF 文件,并在其中添加一张页面和一段文本。

using PdfSharpCore.Pdf;

// 创建 PDF 文档
var document = new PdfDocument();

// 添加一页
var page = document.AddPage();

// 获取页面的图形对象
var gfx = XGraphics.FromPdfPage(page);

// 绘制文本
gfx.DrawString("Hello, World!", new XFont("Verdana", 20), XBrushes.Black, new XRect(0, 0, page.Width, page.Height), XStringFormats.Center);

// 保存 PDF 文件
document.Save("output.pdf");

现在,我们可以在本地磁盘上找到名为 output.pdf 的 PDF 文件,其中包含一张页面和一段文本

示例 2

在这个示例中,我们将创建一个控制器方法,该方法将接受一个整数数组,并将数组中的所有值相加。

[HttpGet]
public IActionResult MyAction([FromQuery] int[] myArray)
{
    int result = myArray.Sum();
    return Ok(result);
}

现在,我们可以使用以下查询字符串调用 MyAction 方法:

https://example.com/my-action?myArray=1&myArray=2&myArray=3

这将返回以下响应:

6

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:.net core利用PdfSharpCore操作PDF实例教程 - Python技术站

(0)
上一篇 2023年5月12日
下一篇 2023年5月12日

相关文章

  • C#中HttpClient使用注意(预热与长连接)

    C#中HttpClient使用注意(预热与长连接) 在使用HttpClient时需要注意两个方面的问题:预热和长连接。本文将详细讲解这两方面的注意事项和实现方法。 预热 预热是指提前对HttpClient进行初始化,并使其保持一段时间的生命周期,以减少后续的请求延迟。一般来说,在使用HttpClient的应用中,HttpClient实例的创建、初始化和销毁都…

    C# 2023年6月6日
    00
  • unity 切换场景不销毁物体问题的解决

    下面是详细讲解 “Unity切换场景不销毁物体问题的解决” 的完整攻略。 问题描述 在Unity中,切换场景时,场景中的物体通常都会被销毁并重新创建。但是,在某些情况下,我们希望在切换场景时不销毁某些物体,例如UI、游戏内人物等。那么该如何解决这个问题呢? 解决方法 方法一:使用DontDestroyOnLoad() Unity提供了DontDestroyO…

    C# 2023年6月3日
    00
  • C#通过经纬度计算2个点之间距离的实现代码

    计算两个点之间的距离通常使用地理坐标系中的经纬度作为计算的基础。下面是C#实现经纬度计算距离的完整攻略: 步骤一:确定计算方法 在地图中,经纬度之间的直线距离可以使用大圆距离公式(Haversine formula)计算。该公式将两点之间的直线距离表示为球面距离,考虑地球的尺寸与弧度的转换,计算公式如下: dist = 2R * arcsin(sqrt(si…

    C# 2023年5月31日
    00
  • 关于ObservableCollection的更新与不更新分析

    因为最近在WPF项目中,遇到ObservableCollection这个属性的频繁使用,一个一个坑跳过来,今天看到这个贴子 玩转INotifyPropertyChanged和ObservableCollection – 包建强 – 博客园 (cnblogs.com) 其中分析很透彻了,但是留了一点遗憾,而且在其中引起了一个想法,做一个项目来测试一下。 我们知…

    C# 2023年5月7日
    00
  • C#实现图形位置组合转换的方法

    C#实现图形位置组合转换的方法 在C#中,通过使用矩阵转换可以实现图形位置组合的转换。该方法包含两个部分:矩阵的生成和矩阵的应用。 矩阵的生成 通过创建Matrix类实例来生成矩阵,可以调用它的一些方法来定义矩阵,如平移、旋转和缩放等。以下是几个常用的矩阵生成方法: 平移矩阵 平移矩阵可以将图形向上或向下、向左或向右移动。可以使用Matrix类的Transl…

    C# 2023年6月8日
    00
  • c#使用csredis操作redis的示例

    C# 使用 CSRedis 操作 Redis 的示例攻略 Redis 是一种高性能的键值存储数据库,而 CSRedis 是一个 C# 的 Redis 客户端库,可以方便地在 C# 应用程序中使用 Redis。本攻略将介绍如何使用 CSRedis 操作 Redis,并提供两个示例说明。 步骤 步骤1:安装 CSRedis 首先,我们需要安装 CSRedis。可…

    C# 2023年5月17日
    00
  • 为IObservable实现自己的运算符(详解)

    为IObservable实现自己的运算符是Rx编程中的重要内容,这里我将分享一份详细攻略,供大家参考。 1. 了解Rx编程模型 在进行Rx编程之前,我们需要了解Rx编程模型的基本内容。Rx编程模型是由3个基本概念组成的: Observable 表示一个异步事件序列,观察者可在订阅时接收到它发射的事件。 Observer 表示一个接收Observable发射的…

    C# 2023年5月15日
    00
  • C#实现启用与禁用本地网络的方式小结【3种方式】

    C#实现启用与禁用本地网络的方式小结【3种方式】 方式1:使用Windows API函数 引用System.Runtime.InteropServices命名空间 定义Windows API函数,并声明相关参数 调用Windows API函数 示例代码 using System.Runtime.InteropServices; // 定义Windows AP…

    C# 2023年6月7日
    00
合作推广
合作推广
分享本页
返回顶部