.NET6 中使用IText7不使用PdfiumViewer来将PDF转为图片
时间: 2024-02-25 07:52:06 浏览: 63
在.NET 6中,您可以使用SkiaSharp库将PDF页面转换为图像。SkiaSharp是一个跨平台的2D图形库,可以在Windows、macOS和Linux上运行。
以下是一个简单的示例代码:
```csharp
// 创建PdfDocument对象
PdfDocument document = new PdfDocument(new PdfReader("path/to/your/pdf/file.pdf"));
// 获取要渲染的页面
PdfPage page = document.GetPage(pageNumber);
// 获取页面的大小
var pageSize = new SKSize(page.GetPageSizeWithRotation().GetWidth(), page.GetPageSizeWithRotation().GetHeight());
// 创建SKBitmap对象
SKBitmap bitmap = new SKBitmap((int)pageSize.Width, (int)pageSize.Height);
// 使用SKCanvas对象渲染页面到SKBitmap上
using (var surface = SKSurface.Create(bitmap.Info))
{
var canvas = surface.Canvas;
canvas.Clear(SKColors.White);
var skDocument = SKDocument.CreatePdf(document.GetInputStream());
using (var skCanvas = skDocument.BeginPage(pageSize.Width, pageSize.Height))
{
canvas.DrawSurface(skCanvas, new SKPoint());
skDocument.EndPage();
}
skDocument.Close();
}
// 释放资源
document.Close();
```
在上述示例代码中,我们首先创建了一个SKBitmap对象,并将其与PDF页面大小相同。然后,我们使用SKCanvas对象渲染PDF页面,并将其绘制到SKBitmap上。最后,我们释放了所使用的资源,包括PdfDocument对象。
请注意,上述示例代码仅供参考,并可能需要根据您的具体需求进行修改。
阅读全文