Aspose.PDF 是一款高级PDF处理API,可以在跨平台应用程序中轻松生成,修改,转换,呈现,保护和打印文档。无需使用Adobe Acrobat。此外,API提供压缩选项,表创建和处理,图形和图像功能,广泛的超链接功能,图章和水印任务,扩展的安全控件和自定义字体处理。
Aspose API支持流行文件格式处理,并允许将各类文档导出或转换为固定布局文件格式和最常用的图像/多媒体格式。
Aspose.pdf 最新下载(qun:761297826)https://www.evget.com/product/4118/download
图像到PDF的转换对于文件处理应用程序是重要且有用的方案。在本文中,我们将学习使用C#或VB.NET将JPG,PNG,TIFF,EMF,WMF和BMP图像转换为PDF转换。以下是一些转换图像的可能用例:
目前,.NET版Aspose.PDF升级到v20.7版,添加PDF到CSV转换支持,更改XImage.Name结果损坏的PDF文档,修复提取页面后,缺少内容的问题,感兴趣的朋友可点击下方按钮下载最新版。
可以按照以下步骤轻松地将JPG图像转换为PDF:
下面的代码段显示了如何使用C#将JPG图像转换为PDF:
String path = dataDir + "Aspose.jpg"; Document doc = new Document(); Page page = doc.Pages.Add(); Aspose.Pdf.Image image = new Aspose.Pdf.Image(); image.File = (path); page.Paragraphs.Add(image); doc.Save(dataDir + "ImagetoPDF.pdf");
以下是JPG转换为PDF的屏幕截图:
但是,在此屏幕截图中,会注意到图像已转换为PDF页面,但是默认页面尺寸和边距将应用到输出PDF文档中。.NET API的Aspose.PDF可控制页面尺寸和边距,从而创建与图像尺寸完全相同的PDF。
从上面的用例继续该示例,因为您可以在上面的屏幕截图中注意到更大的页面大小。让我们学习如何将具有相同页面高度和宽度的图像转换为PDF。我们将获取图像尺寸,并按照以下步骤相应地设置PDF文档的页面尺寸:
以下代码段显示了如何使用C#将图像转换为具有相同页面高度和宽度的PDF:
String path = dataDir + "Aspose.jpg"; System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path); int h = srcImage.Height; int w = srcImage.Width; Document doc = new Document(); Page page = doc.Pages.Add(); Aspose.Pdf.Image image = new Aspose.Pdf.Image(); image.File = (path); page.PageInfo.Height = (h); page.PageInfo.Width = (w); page.PageInfo.Margin.Bottom = (0); page.PageInfo.Margin.Top = (0); page.PageInfo.Margin.Right = (0); page.PageInfo.Margin.Left = (0); page.Paragraphs.Add(image); doc.Save(dataDir + "ImagetoPDF_HeightWidth.pdf");
因此,会注意到使用更新的代码段创建的页面尺寸的不同:
最后,会注意到页面大小根据输入图像的尺寸完全相似,并且现在不再设置默认页面边距。
与JPG图像相比,PNG图像格式之所以受欢迎,是因为其功能强大。例如,PNG图像支持透明度。首先,让我们通过以下步骤将PNG转换为PDF:
此外,下面的代码片段显示了如何在.NET应用程序中使用C#将PNG转换为PDF:
String path = dataDir + "Aspose.png"; System.Drawing.Image srcImage = System.Drawing.Image.FromFile(path); int h = srcImage.Height; int w = srcImage.Width; Document doc = new Document(); Page page = doc.Pages.Add(); Aspose.Pdf.Image image = new Aspose.Pdf.Image(); image.File = (path); page.PageInfo.Height = (h); page.PageInfo.Width = (w); page.PageInfo.Margin.Bottom = (0); page.PageInfo.Margin.Top = (0); page.PageInfo.Margin.Right = (0); page.PageInfo.Margin.Left = (0); page.Paragraphs.Add(image); doc.Save(dataDir + "ImagetoPDF.pdf");
TIFF图像可以包含与不同的图像数帧从常规JPEG,PNG,或其他格式不同。还支持Aspose.PDF文件格式,无论是单帧还是多帧TIFF图像。因此,可以在.NET应用程序中将TIFF图像转换为PDF。因此,我们将考虑通过以下步骤将多页TIFF图像转换为多页PDF文档的示例:
此外,以下代码段显示了如何使用C#将多页或多帧TIFF图像转换为PDF:
Document pdf = new Document(); MemoryStream ms = new MemoryStream(); new FileStream(dataDir + @"Aspose.tiff", FileMode.Open).CopyTo(ms); Bitmap myimage = new Bitmap(ms); // Convert multi page or multi frame TIFF to PDF FrameDimension dimension = new FrameDimension(myimage.FrameDimensionsList[0]); int frameCount = myimage.GetFrameCount(dimension); for (int frameIdx = 0; frameIdx <= frameCount - 1; frameIdx++) { Page sec = pdf.Pages.Add(); myimage.SelectActiveFrame(dimension, frameIdx); MemoryStream currentImage = new MemoryStream(); myimage.Save(currentImage, ImageFormat.Tiff); Aspose.Pdf.Image imageht = new Aspose.Pdf.Image(); imageht.ImageStream = currentImage; sec.Paragraphs.Add(imageht); } pdf.Save(dataDir + "TifftoPDF.pdf");
EMF图像,也称为增强型图元文件格式,实际上是与设备无关的图像。此外,您可以按照以下步骤将EMF转换为PDF图像:
此外,以下代码片段显示了如何在.NET代码片段中使用C#将EMF转换为PDF:
var doc = new Document(); var imageFile = dataDir + "drawing.emf"; var page = doc.Pages.Add(); string file = imageFile; FileStream filestream = new FileStream(file, FileMode.Open, FileAccess.Read); BinaryReader reader = new BinaryReader(filestream); long numBytes = new FileInfo(file).Length; byte[] bytearray = reader.ReadBytes((int)numBytes); Stream stream = new MemoryStream(bytearray); var b = new Bitmap(stream); page.PageInfo.Margin.Bottom = 0; page.PageInfo.Margin.Top = 0; page.PageInfo.Margin.Left = 0; page.PageInfo.Margin.Right = 0; page.PageInfo.Width = b.Width; page.PageInfo.Height = b.Height; var image = new Aspose.Pdf.Image(); image.File = imageFile; page.Paragraphs.Add(image); doc.Save(dataDir + "EMFtoPDF.pdf");
BMP图像是位图图像,可以使用Aspose.PDF for .NET API将其转换为PDF。因此,可以按照以下步骤转换BMP图像:
因此,以下代码段遵循了这些步骤,并显示了如何使用C#将BMP转换为PDF:
using (Document pdfDocument = new Document()) { pdfDocument.Pages.Add(); Aspose.Pdf.Image image = new Aspose.Pdf.Image(); image.File = dataDir + @"Sample.bmp"; pdfDocument.Pages[1].Paragraphs.Add(image); pdfDocument.Save(dataDir + @"BMPtoPDF.pdf"); }