PDF處理控件Aspose.PDF功能演示:使用C#將JPG/PNG/TIFF/EMF/BMP圖像轉(zhuǎn)換為PDF
圖像到PDF的轉(zhuǎn)換對于文件處理應(yīng)用程序是重要且有用的方案。在本文中,我們將學(xué)習(xí)使用C?;騐B.NET將JPG,PNG,TIFF,EMF,WMF和BMP圖像轉(zhuǎn)換為PDF轉(zhuǎn)換。以下是一些轉(zhuǎn)換圖像的可能用例:
- 使用C#將JPG轉(zhuǎn)換為PDF
- 在C#中以相同的頁面高度和寬度將圖像轉(zhuǎn)換為PDF
- 使用C#將PNG轉(zhuǎn)換為PDF
- 使用C#將TIFF轉(zhuǎn)換為PDF
- 使用C#將EMF圖像轉(zhuǎn)換為PDF
- 使用C#將BMP轉(zhuǎn)換為PDF
目前,.NET版Aspose.PDF升級到v20.7版,添加PDF到CSV轉(zhuǎn)換支持,更改XImage.Name結(jié)果損壞的PDF文檔,修復(fù)提取頁面后,缺少內(nèi)容的問題,感興趣的朋友可點擊下方按鈕下載最新版。
使用C#將JPG轉(zhuǎn)換為PDF
可以按照以下步驟輕松地將JPG圖像轉(zhuǎn)換為PDF:
- 初始化Document類的對象
- 將新頁面添加到PDF文檔
- 加載JPG圖像并添加到段落
- 保存輸出PDF
下面的代碼段顯示了如何使用C#將JPG圖像轉(zhuǎn)換為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轉(zhuǎn)換為PDF的屏幕截圖:
但是,在此屏幕截圖中,會注意到圖像已轉(zhuǎn)換為PDF頁面,但是默認(rèn)頁面尺寸和邊距將應(yīng)用到輸出PDF文檔中。.NET API的Aspose.PDF可控制頁面尺寸和邊距,從而創(chuàng)建與圖像尺寸完全相同的PDF。
使用相同的頁面高度和寬度將圖像轉(zhuǎn)換為PDF
從上面的用例繼續(xù)該示例,因為您可以在上面的屏幕截圖中注意到更大的頁面大小。讓我們學(xué)習(xí)如何將具有相同頁面高度和寬度的圖像轉(zhuǎn)換為PDF。我們將獲取圖像尺寸,并按照以下步驟相應(yīng)地設(shè)置PDF文檔的頁面尺寸:
- 加載輸入圖像文件
- 獲取圖像的高度和寬度
- 設(shè)置頁面的高度,寬度和邊距
- 保存輸出的PDF文件
以下代碼段顯示了如何使用C#將圖像轉(zhuǎn)換為具有相同頁面高度和寬度的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");
因此,會注意到使用更新的代碼段創(chuàng)建的頁面尺寸的不同:
最后,會注意到頁面大小根據(jù)輸入圖像的尺寸完全相似,并且現(xiàn)在不再設(shè)置默認(rèn)頁面邊距。
使用C#將PNG轉(zhuǎn)換為PDF
與JPG圖像相比,PNG圖像格式之所以受歡迎,是因為其功能強大。例如,PNG圖像支持透明度。首先,讓我們通過以下步驟將PNG轉(zhuǎn)換為PDF:
- 加載輸入的PNG圖片
- 讀取高度和寬度值
- 創(chuàng)建新文檔并添加頁面
- 設(shè)定頁面尺寸
- 保存輸出文件
此外,下面的代碼片段顯示了如何在.NET應(yīng)用程序中使用C#將PNG轉(zhuǎn)換為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轉(zhuǎn)換為PDF
TIFF圖像可以包含與不同的圖像數(shù)幀從常規(guī)JPEG,PNG,或其他格式不同。還支持Aspose.PDF文件格式,無論是單幀還是多幀TIFF圖像。因此,可以在.NET應(yīng)用程序中將TIFF圖像轉(zhuǎn)換為PDF。因此,我們將考慮通過以下步驟將多頁TIFF圖像轉(zhuǎn)換為多頁PDF文檔的示例:
- 實例化Document類的實例
- 加載輸入的TIFF圖像
- 獲取框架的FrameDimension
- 為每個框架添加新頁面
- 將圖像保存到PDF頁面
此外,以下代碼段顯示了如何使用C#將多頁或多幀TIFF圖像轉(zhuǎn)換為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");
使用C#將EMF圖像轉(zhuǎn)換為PDF
EMF圖像,也稱為增強型圖元文件格式,實際上是與設(shè)備無關(guān)的圖像。此外,您可以按照以下步驟將EMF轉(zhuǎn)換為PDF圖像:
- 初始化Document類對象
- 加載EMF圖像文件
- 將加載的EMF圖像添加到頁面
- 保存PDF文件
此外,以下代碼片段顯示了如何在.NET代碼片段中使用C#將EMF轉(zhuǎn)換為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轉(zhuǎn)換為PDF
BMP圖像是位圖圖像,可以使用Aspose.PDF for .NET API將其轉(zhuǎn)換為PDF。因此,可以按照以下步驟轉(zhuǎn)換BMP圖像:
- 初始化新文件
- 加載輸入的BMP圖像
- 保存輸出的PDF文件
因此,以下代碼段遵循了這些步驟,并顯示了如何使用C#將BMP轉(zhuǎn)換為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技術(shù)交流群(642018183),我們很高興為您提供查詢和咨詢。