提供3000多款全球软件/控件产品
针对软件研发的各个阶段提供专业培训与技术咨询
根据客户需求提供定制化的软件开发服务
全球知名设计软件,显著提升设计质量
打造以经营为中心,实现生产过程透明化管理
帮助企业合理产能分配,提高资源利用率
快速打造数字化生产线,实现全流程追溯
生产过程精准追溯,满足企业合规要求
以六西格玛为理论基础,实现产品质量全数字化管理
通过大屏电子看板,实现车间透明化管理
对设备进行全生命周期管理,提高设备综合利用率
实现设备数据的实时采集与监控
利用数字化技术提升油气勘探的效率和成功率
钻井计划优化、实时监控和风险评估
提供业务洞察与决策支持实现数据驱动决策
翻译|使用教程|编辑:李显亮|2020-07-29 10:19:56.020|阅读 1246 次
概述:图像到PDF的转换对于文件处理应用程序是重要且有用的方案。在本文中,我们将学习使用C#或VB.NET将JPG,PNG,TIFF,EMF,WMF和BMP图像转换为PDF转换。
# 慧都年终大促·界面/图表报表/文档/IDE等千款热门软控件火热促销中 >>
相关链接:
图像到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"); }
本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@cahobeh.cn
本文探讨 SQL Server 中 NULL 和空值之间的区别,并讨论如何有效地处理它们。
Unity 是一款功能极其丰富的游戏引擎,允许开发人员将各种媒体集成到他们的项目中。但是,它缺少最令人兴奋的功能之一 - 将 Web 内容(例如 HTML、CSS 和 JavaScript)直接渲染到 3D 场景中的纹理上的能力。在本文中,我们将介绍如何使用 DotNetBrowser 在 Unity3D 中将 Web 内容渲染为纹理。
DevExpress v24.2帮助文档正式发布上线了,请按版本按需下载~
本教程将向您展示如何用MyEclipse构建一个Web项目,欢迎下载最新版IDE体验!
服务电话
重庆/ 023-68661681
华东/ 13452821722
华南/ 18100878085
华北/ 17347785263
客户支持
技术支持咨询服务
服务热线:400-700-1020
邮箱:sales@cahobeh.cn
关注我们
地址 : 重庆市九龙坡区火炬大道69号6幢