PDF处理控件Aspose.PDF功能演示:使用C#将JPG/PNG/TIFF/EMF/BMP图像转换为PDF

  • 使用C#将JPG转换为PDF
  • 在C#中以相同的页面高度和宽度将图像转换为PDF
  • 使用C#将PNG转换为PDF
  • 使用C#将TIFF转换为PDF
  • 使用C#将EMF图像转换为PDF
  • 使用C#将BMP转换为PDF

目前,.NET版Aspose.PDF升级到v20.7版,添加PDF到CSV转换支持,更改XImage.Name结果损坏的PDF文档,修复提取页面后,缺少内容的问题,感兴趣的朋友可点击下方按钮下载最新版。

使用C#将JPG转换为PDF

可以按照以下步骤轻松地将JPG图像转换为PDF:

  • 初始化Document类的对象
  • 将新页面添加到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处理控件Aspose.PDF功能演示:使用C#将JPG/PNG/TIFF/EMF/BMP图像转换为PDF

但是,在此屏幕截图中,会注意到图像已转换为PDF页面,但是默认页面尺寸和边距将应用到输出PDF文档中。.NET API的Aspose.PDF可控制页面尺寸和边距,从而创建与图像尺寸完全相同的PDF。

使用相同的页面高度和宽度将图像转换为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");

因此,会注意到使用更新的代码段创建的页面尺寸的不同:

PDF处理控件Aspose.PDF功能演示:使用C#将JPG/PNG/TIFF/EMF/BMP图像转换为PDF

最后,会注意到页面大小根据输入图像的尺寸完全相似,并且现在不再设置默认页面边距。

使用C#将PNG转换为PDF

与JPG图像相比,PNG图像格式之所以受欢迎,是因为其功能强大。例如,PNG图像支持透明度。首先,让我们通过以下步骤将PNG转换为PDF:

  • 加载输入的PNG图片
  • 读取高度和宽度值
  • 创建新文档并添加页面
  • 设定页面尺寸
  • 保存输出文件

此外,下面的代码片段显示了如何在.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");

使用C#将TIFF转换为PDF

TIFF图像可以包含与不同的图像数帧从常规JPEG,PNG,或其他格式不同。还支持Aspose.PDF文件格式,无论是单帧还是多帧TIFF图像。因此,可以在.NET应用程序中将TIFF图像转换为PDF。因此,我们将考虑通过以下步骤将多页TIFF图像转换为多页PDF文档的示例:

  • 实例化Document类的实例
  • 加载输入的TIFF图像
  • 获取框架的FrameDimension
  • 为每个框架添加新页面
  • 将图像保存到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 PDFFrameDimension 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");

使用C#将EMF图像转换为PDF

EMF图像,也称为增强型图元文件格式,实际上是与设备无关的图像。此外,您可以按照以下步骤将EMF转换为PDF图像:

  • 初始化Document类对象
  • 加载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");

使用C#将BMP转换为PDF

BMP图像是位图图像,可以使用Aspose.PDF for .NET API将其转换为PDF。因此,可以按照以下步骤转换BMP图像:

  • 初始化新文件
  • 加载输入的BMP图像
  • 保存输出的PDF文件

因此,以下代码段遵循了这些步骤,并显示了如何使用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");}


还想要更多吗可以点击阅读【2020 · Aspose最新资源整合】查找需要的教程资源。如果您有任何疑问或需求,请随时加入Aspose技术交流群(),我们很高兴为您提供查询和咨询
标签:

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年6月26日
下一篇 2020年6月26日

相关推荐

发表回复

登录后才能评论