2021-05-04

c#使用Aspose打印文件

最近在研究winform打印文件,需要支持word,excel,ppt,pdf,图片这几种格式,不能依赖相关软件环境,研究后决定使用Aspose套件将相关文件全部转换成pdf后打印

WrodToPDF

使用Aspose.Word 11.9,需要配合licence文件破解

   //去水印   string licenseFile = "Aspose.Words.lic";   if (File.Exists(licenseFile))   {    Aspose.Words.License license = new Aspose.Words.License();    license.SetLicense(licenseFile);   }   //转换   Aspose.Words.Document doc = new Aspose.Words.Document(FileFullName);   doc.Save(SaveFileName, Aspose.Words.SaveFormat.Pdf);


ExcelToPDF

使用Aspose.Cell 8.3(破解版本)

    //转换    Workbook excel = new Workbook(FileFullName);    excel.Save(SaveFileName, Aspose.Cells.SaveFormat.Pdf);


PPTToPDF

使用Aspose.Slides 16.9(需要配合代码破解)

   //去水印   string[] stModule = new string[8]   {    "\u0002\u2006\u2006\u2003",    "\u0003\u2006\u2006\u2003",    "\u0005\u2005\u2000\u2003",    "\u0003\u2000",    "\u000F",    "\u0002\u2000",    "\u0003",    "\u0002"   };   Assembly assembly = Assembly.GetAssembly(typeof(Aspose.Slides.License));   Type typeLic = null, typeIsTrial = null, typeHelper = null;   foreach (Type type in assembly.GetTypes())   {    if ((typeLic == null) && (type.Name == stModule[0]))    {     typeLic = type;    }    else if ((typeIsTrial == null) && (type.Name == stModule[1]))    {     typeIsTrial = type;    }    else if ((typeHelper == null) && (type.Name == stModule[2]))    {     typeHelper = type;    }   }   if (typeLic == null || typeIsTrial == null || typeHelper == null)   {    throw new Exception();   }   object lic = Activator.CreateInstance(typeLic);   int findCount = 0;   foreach (FieldInfo field in typeLic.GetFields(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance))   {    if (field.FieldType == typeLic && field.Name == stModule[3])    {     field.SetValue(null, lic);     ++findCount;    }    else if (field.FieldType == typeof(DateTime) && field.Name == stModule[4])    {     field.SetValue(lic, DateTime.MaxValue);     ++findCount;    }    else if (field.FieldType == typeIsTrial && field.Name == stModule[5])    {     field.SetValue(lic, 1);     ++findCount;    }   }   foreach (FieldInfo field in typeHelper.GetFields(BindingFlags.NonPublic | BindingFlags.Static | BindingFlags.Instance))   {    if (field.FieldType == typeof(bool) && field.Name == stModule[6])    {     field.SetValue(null, false);     ++findCount;    }    if (field.FieldType == typeof(int) && field.Name == stModule[7])    {     field.SetValue(null, 128);     ++findCount;    }   }   if (findCount < 5)   {    throw new NotSupportedException("无效的版本");   }   //转换   Presentation ppt = new Presentation(FileFullName);   ppt.Save(SaveFileName, Aspose.Slides.Export.SaveFormat.Pdf);


图片ToPDF

使用Aspose.Pdf 9.4(需要配合代码破解)

     //去水印     private const string Key = "PExpY2Vuc2U+DQogIDxEYXRhPg0KICAgIDxMaWNlbnNlZFRvPlNoYW5naGFpIEh1ZHVuIEluZm9ybWF0aW9uIFRlY2hub2xvZ3kgQ28uLCBMdGQ8L0xpY2Vuc2VkVG8+DQogICAgPEVtYWlsVG8+MzE3NzAxODA5QHFxLmNvbTwvRW1haWxUbz4NCiAgICA8TGljZW5zZVR5cGU+RGV2ZWxvcGVyIE9FTTwvTGljZW5zZVR5cGU+DQogICAgPExpY2Vuc2VOb3RlPkxpbWl0ZWQgdG8gMSBkZXZlbG9wZXIsIHVubGltaXRlZCBwaHlzaWNhbCBsb2NhdGlvbnM8L0xpY2Vuc2VOb3RlPg0KICAgIDxPcmRlcklEPjE2MDkwMjAwNDQwMDwvT3JkZXJJRD4NCiAgICA8VXNlcklEPjI2NjE2NjwvVXNlcklEPg0KICAgIDxPRU0+VGhpcyBpcyBhIHJlZGlzdHJpYnV0YWJsZSBsaWNlbnNlPC9PRU0+DQogICAgPFByb2R1Y3RzPg0KICAgICAgPFByb2R1Y3Q+QXNwb3NlLlRvdGFsIGZvciAuTkVUPC9Qcm9kdWN0Pg0KICAgIDwvUHJvZHVjdHM+DQogICAgPEVkaXRpb25UeXBlPkVudGVycHJpc2U8L0VkaXRpb25UeXBlPg0KICAgIDxTZXJpYWxOdW1iZXI+NzM4MDNhYmUtYzZkMi00MTY3LTg2MTgtN2I0NDViNDRmOGY0PC9TZXJpYWxOdW1iZXI+DQogICAgPFN1YnNjcmlwdGlvbkV4cGlyeT4yMDE3MDkwNzwvU3Vic2NyaXB0aW9uRXhwaXJ5Pg0KICAgIDxMaWNlbnNlVmVyc2lvbj4zLjA8L0xpY2Vuc2VWZXJzaW9uPg0KICAgIDxMaWNlbnNlSW5zdHJ1Y3Rpb25zPmh0dHA6Ly93d3cuYXNwb3NlLmNvbS9jb3Jwb3JhdGUvcHVyY2hhc2UvbGljZW5zZS1pbnN0cnVjdGlvbnMuYXNweDwvTGljZW5zZUluc3RydWN0aW9ucz4NCiAgPC9EYXRhPg0KICA8U2lnbmF0dXJlPm5LNVVUR3dZMWVJSEtIV0d2NW5sQUxXUy81bDEzWkFuamlvdnlBcGNqQis0ZjNGbm5yOWhjeUlzazlvVzQySWp0ZFYra2JHZlNSMUV4OUozSGlkaThCeE43aHFiR1BERXNaWGo2RlYxaGl1N2MxWmUyNEp3VGc2UnpsNUNJRHY1YVhxbDQyczBkSGw4eXpreDRBM2RTTU5KTzRiQ094a2V2OFBiOWxSaUc3ST08L1NpZ25hdHVyZT4NCjwvTGljZW5zZT4=";     private static Stream LStream = (Stream)new MemoryStream(Convert.FromBase64String(Key));     var l = new Aspose.Pdf.License();     l.SetLicense(LStream);     //转换     Document doc = new Document();     Page page = doc.Pages.Add();     Aspose.Pdf.Image image = new Aspose.Pdf.Image();     image.File = FileFullName;     page.Paragraphs.Add(image);     PrintFileName = OfficeUtil.CombinePDFPath(ConvertPDFName);     doc.Save(PrintFileName);


PDF文件打印

使用Aspose.Pdf打印文件可以直接设置打印机名称,分数,方向d等

            System.Drawing.Printing.PrinterSettings ps = new       System.Drawing.Printing.PrinterSettings();     ps.PrinterName = PrinterName;     ps.Copies = Copies;     ps.Duplex = Direction;     PdfViewer viewer = new PdfViewer();     viewer.BindPdf(PrintFileName);     viewer.PrintDocumentWithSettings(ps);     viewer.Close();

注:对于excel转换pdf后是没有表格线的,ppt转换pdf后打印会被截断,需要自己调整方向与纸张大小设置

 









原文转载:http://www.shaoqun.com/a/721754.html

跨境电商:https://www.ikjzd.com/

韩国naver:https://www.ikjzd.com/w/1727

海淘贝:https://www.ikjzd.com/w/1726


最近在研究winform打印文件,需要支持word,excel,ppt,pdf,图片这几种格式,不能依赖相关软件环境,研究后决定使用Aspose套件将相关文件全部转换成pdf后打印WrodToPDF使用Aspose.Word11.9,需要配合licence文件破解//去水印stringlicenseFile="Aspose.Words.lic";if(File.Exists(l
瀚霖:https://www.ikjzd.com/w/2345
亚马逊礼品卡:https://www.ikjzd.com/w/1090.html
拍拍网服装:https://www.ikjzd.com/w/2205
干货| 亚马逊的这些报告,卖家你都用对了吗?:https://www.ikjzd.com/home/125757
他说考虑和女友分手:http://www.30bags.com/m/a/253405.html
防跟卖赶跟卖的几大招,希望对大家有所帮助:https://www.ikjzd.com/tl/4212

No comments:

Post a Comment