4步学会用Aspose在ASP.NET中将文档合并为PDF( 三 )
// POST: /api/merge[HttpPost]public IActionResult PostMergeFiles(IEnumerable list){var document = new Document();foreach (var item in list){var filePath = Path.Combine(_storageRootFolder, item);var pdfDocument = Path.GetExtension(item) switch{".jpg" => ConvertFromImage(filePath),".jpeg" => ConvertFromImage(filePath),".png" => ConvertFromImage(filePath),".oxps" => new Document(filePath, new XpsLoadOptions()),_ => new Document(filePath)};document.Pages.Add(pdfDocument.Pages);pdfDocument.Dispose();}var guid = Guid.NewGuid();document.Save(Path.Combine(_storageRootFolder, $"{guid}.pdf"));_logger.LogInformation($"The merge result saved as: {guid}");return Ok(new { filename = guid.ToString() });}private Document ConvertFromImage(string filePath){var docStream = new MemoryStream();var doc = new Document();var page = doc.Pages.Add();var image = new Aspose.Pdf.Image{ImageStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)};page.PageInfo.Margin.Bottom = 0;page.PageInfo.Margin.Top = 0;page.PageInfo.Margin.Left = 0;page.PageInfo.Margin.Right = 0;var imageSize = System.Drawing.Image.FromStream(image.ImageStream).Size;page.PageInfo.Width = imageSize.Width;page.PageInfo.Height = imageSize.Height;page.Paragraphs.Add(image);doc.Save(docStream);return doc;}}
步骤2:实现用于将图像转换为PDF的辅助方法
private Document ConvertFromImage(string filePath){var docStream = new MemoryStream();var doc = new Document();var page = doc.Pages.Add();var image = new Aspose.Pdf.Image{ImageStream = new FileStream(filePath, FileMode.Open, FileAccess.Read)};page.PageInfo.Margin.Bottom = 0;page.PageInfo.Margin.Top = 0;page.PageInfo.Margin.Left = 0;page.PageInfo.Margin.Right = 0;var imageSize = System.Drawing.Image.FromStream(image.ImageStream).Size;page.PageInfo.Width = imageSize.Width;page.PageInfo.Height = imageSize.Height;page.Paragraphs.Add(image);doc.Save(docStream);return doc;}
本文示例演示了Aspose.PDF库在ASP.NET Core环境中的正常运行 。 该应用程序的目的是展示使用.NET Core的Aspose.PDF合并任何文档并将其保存为PDF格式的可能性 , 并且可能需要对其进行改进 。 例如 , 此程序不考虑保存具有相同名称的文件 。 该问题的可能解决方案是使用具有生成名称的文件夹上载每个文档或使用数据库存储文件 。
【4步学会用Aspose在ASP.NET中将文档合并为PDF】如果您有任何疑问或需求 , 请随时加入Aspose技术交流群(642018183) , 我们很高兴为您提供查询和咨询 。
- 开发自|不妥协不追随 Member’s Mark升级背后的“山姆哲学”
- 计算机学科|机器视觉系统是什么
- 阿尔法|击败李世石的AI公司,又研发出生物版“阿尔法狗”:破解50年生物学难题
- 手机|新鲜评测:让手机变身电脑的显示器见过没?只用4步即可完成!
- 互联网|政企学界人士西安共议数字经济 产业互联网发展向“西”行
- 高学历|薇娅一夜带货53.2亿,少不了这支高学历团队!
- 教学|机器人教学的目标方案
- 体验|VR\/AR体验、3D打印、机器人“对决”……松江这所中学人工智能创新实验室真的赞
- 直播从业者|高三老师监考时开直播,面对质疑还振振有词,怕困没有打扰学生
- 跻身|安师大2学科跻身ESI全球前1%!新增的学科是……