彩票走势图

logo E-iceblue中文文档
文档彩票走势图>>E-iceblue中文文档>>在C#中将多页图像转换为PDF

在C#中将多页图像转换为PDF


Spire.PDF for .NET 是一款专门对 Word 文档进行操作的 .NET 类库。致力于在于帮助开发人员轻松快捷高效地创建、编辑、转换和打印 Microsoft Word 文档,而无需安装 Microsoft Word。

行号用于在每行文本旁边显示 Word 自动计算的行数。当我们需要参考合同或法律文件等文档中的特定行时,它非常有用。word中的行号功能允许我们设置起始值、编号间隔、与文本的距离以及行号的编号方式。使用 Spire.Doc,我们可以实现上述所有功能。本文将介绍如何将 XPS 转为PDF 格式。

Spire.PDF for.NET 最新下载

欢迎加入spire技术交流群:767755948

对于将图像转换为PDF的功能,Spire.PDF可以快速有效地处理。该.NET PDF库不仅可以将常用格式的图像转换为PDF文档,如jpg、bmp、png,还可以将gif、tif和ico图像转换为PDF。只需在此下载即可。

要使用Spire.PDF将多页图像转换为PDF文件,只需将以下代码复制到您的应用程序中,并调用方法ConvertImagetoPDF即可完成。

步骤1:分割多页图像的方法

Spire.Pdf有一个名为DrawImage的方法将图像转换为PDF。但它不能直接处理多页图像。因此在转换之前,需要将多页图像分割成多个单页图像。

[C#]

1 Guid guid = image.FrameDimensionsList[0];
2 FrameDimension dimension = new FrameDimension(guid);
3 int pageCount = image.GetFrameCount(dimension);
这一步是为了获得多页图像中的帧总数(页数)。

[C#]

1  image.SelectActiveFrame(dimension, i);

这一步是在该图像对象中选择一帧图像。

[C#]

1  image.Save(buffer, format);
将所选帧保存到缓冲区。

第2步:将图像转换为PDF

分割多页图像后,Spire.Pdf可以使用DrawImage方法直接将分割后的图像绘制成PDF。

[C#]

1   PdfImage pdfImg = PdfImage.FromImage(img[i])
以PdfImage格式加载图像文件。
[C#]

1   page.Canvas.DrawImage(pdfImg, x, 0, width, height);
绘制PdfImage到PDF。唯一要做的是指定图像在PDF上的位置。宽度和高度是图像将被绘制的区域的大小。有时我们需要放大或缩小图像的原始尺寸,直到它适合PDF页面。x和0是坐标。

检查原始TIF文件的有效截图。

PDF文件:

完整演示:

[C#]

using Spire.Pdf;

using Spire.Pdf.Graphics;

using System;

using System.Drawing;

using System.Drawing.Imaging;

using System.IO;

namespace ConvertMultipageImagetoPDF

{

class Program

{

 static void Main(string[] args)

{

{

ConvertImagetoPDF(@"..\..\Chapter1.tif");

}

}     

public static void ConvertImagetoPDF(String ImageFilename)

{

using (PdfDocument pdfDoc = new PdfDocument())

{

Image image = Image.FromFile(ImageFilename);

Image[] img = SplitImages(image, ImageFormat.Png);

for (int i = 0; i < img.Length; i++)

{

PdfImage pdfImg = PdfImage.FromImage(img[i]);

PdfPageBase page = pdfDoc.Pages.Add();

float width = pdfImg.Width * 0.3f;

float height = pdfImg.Height * 0.3f;

float x = (page.Canvas.ClientSize.Width - width) / 2;

page.Canvas.DrawImage(pdfImg, x, 0, width, height);

}

string PdfFilename = "result.pdf";

pdfDoc.SaveToFile(PdfFilename);

System.Diagnostics.Process.Start(PdfFilename);

}

}

public static Image[] SplitImages(Image image, ImageFormat format)

{

Guid guid = image.FrameDimensionsList[0];

FrameDimension dimension = new FrameDimension(guid);

int pageCount = image.GetFrameCount(dimension);

Image[] frames = new Image[pageCount];

for (int i = 0; i < pageCount; i++)

{

using (MemoryStream buffer = new MemoryStream())

{

image.SelectActiveFrame(dimension, i);

image.Save(buffer, format);

frames[i] = Image.FromStream(buffer);

}

}

return frames;       

}

}

}
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP