通过NuGet安装

Pechkin
Pechkin.Synchronized

一下示例是控制台应用程序

  1. static void btnCreate() {
  2. SynchronizedPechkin sc = new SynchronizedPechkin(new GlobalConfig()
  3. .SetMargins(new Margins() { Left = , Right = , Top = , Bottom = }) //设置边距
  4. .SetPaperOrientation(false) //设置纸张方向为纵向
  5. .SetPaperSize(MillimetersToPixelsWidth(), MillimetersToPixelsWidth())); //设置纸张大小50mm * 100mm
  6.  
  7. ObjectConfig oc = new ObjectConfig();
  8. oc.SetPrintBackground(true)
  9. .SetLoadImages(true);
  10.  
  11. byte[] buf = sc.Convert(oc, File.ReadAllText(@"C:\Users\Administrator\Documents\WeChat Files\ahjesus\Files\111.html"));
  12.  
  13. if (buf == null) {
  14. Console.WriteLine("Error converting!");
  15. return;
  16. }
  17.  
  18. try {
  19. string fn = Path.GetTempFileName() + ".pdf";
  20. FileStream fs = new FileStream(fn, FileMode.Create);
  21. fs.Write(buf, , buf.Length);
  22. fs.Close();
  23.  
  24. Process myProcess = new Process();
  25. myProcess.StartInfo.FileName = fn;
  26. myProcess.Start();
  27. } catch { }
  28. }
  29.  
  30. static string get_uft8(string unicodeString) {
  31. UTF8Encoding utf8 = new UTF8Encoding();
  32. Byte[] encodedBytes = utf8.GetBytes(unicodeString);
  33. String decodedString = utf8.GetString(encodedBytes);
  34. return decodedString;
  35. }
  36.  
  37. //length是毫米,1厘米=10毫米
  38. public static int MillimetersToPixelsWidth(float length) {
  39. System.Windows.Forms.Panel p = new System.Windows.Forms.Panel();
  40. System.Drawing.Graphics g = System.Drawing.Graphics.FromHwnd(p.Handle);
  41. IntPtr hdc = g.GetHdc();
  42. int width = GetDeviceCaps(hdc, ); // HORZRES
  43. int pixels = GetDeviceCaps(hdc, ); // BITSPIXEL
  44. g.ReleaseHdc(hdc);
  45. return (int)(((float)pixels / (float)width) * length);
  46. }
  47. [DllImport("gdi32.dll")]
  48. private static extern int GetDeviceCaps(IntPtr hdc, int Index);

c# 通过html导出pdf,带分页的更多相关文章

  1. 通过html导出PDF如何分页

    每页一个DIV,加上样式page-break-inside:avoid; 即可分页了 .pdfpage{page-break-inside:avoid;} <div class="pd ...

  2. word2007导出pdf带书签

    1.关闭所有word文档 2.下载Word_2007_SaveAsPDFandXPS_12.0_XiaZaiBa.exe安装 3.如果出错请重启PC

  3. JAVA导出pdf实例

    一.直接导出成PDF   Java代码 1. import java.io.FileNotFoundException; 2. import java.io.FileOutputStream; 3.  ...

  4. iText导出pdf、word、图片

    一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生成PDF报表,客户端采用超级连接显示或 ...

  5. Itext导出PDF,word,图片案例

    iText导出pdf.word.图片 一.前言 在企业的信息系统中,报表处理一直占比较重要的作用,本文将介绍一种生成PDF报表的Java组件--iText.通过在服务器端使用Jsp或JavaBean生 ...

  6. Ireport 报表导出 Poi + ireport 导出pdf, word ,excel ,htm

    Ireport 报表导出 Poi + ireport 导出pdf, doc ,excel ,html 格式 下面是报表导出工具类reportExportUtils 需要导出以上格式的报表 只需要调用本 ...

  7. “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成)

    “MVC+Nhibernate+Jquery-EasyUI” 信息发布系统 第六篇(图片新闻的添加以及带分页的静态页的生成) 一.这篇文章主要是要实现:图片新闻的添加,无刷新图片的上传,以及添加新闻静 ...

  8. 纯前端导出pdf文件

    纯前端js导出pdf,已经用于生产环境. 工具: 1.html2canvas,一种让html转换为图片的工具. 2.pdfmake或者jspdf ,一种生成.编辑pdf,并且导出pdf的工具. pdf ...

  9. 史上最全的springboot导出pdf文件

    最近项目有一个导出报表文件的需求,我脑中闪过第一念头就是导出pdf(产品经理没有硬性规定导出excel还是pdf文件),于是赶紧上网查看相关的资料,直到踩了无数的坑把功能做出来了才知道其实导出exce ...

  10. R 导出pdf设置字体

    主要参考自: https://blog.csdn.net/xmuecor/article/details/51462172 library(showtext)showtext.auto(enable ...

随机推荐

  1. 【数组】Search for a Range

    题目: Given a sorted array of integers, find the starting and ending position of a given target value. ...

  2. App实现开机启动

    Android启动时,会发出一个系统广播 ACTION_BOOT_COMPLETED,它的字符串常量表示为 “android.intent.action.BOOT_COMPLETED” 开机自启动程序 ...

  3. PL/SQL developer 出现无效的SQL语句的解决

    这里要说的SQL语句本身没有错误,但是PL/SQL developer 出现无效的SQL语句的解决. 出现这个提示是因为下面的这句代码: --变量num:是一个地址值,在该地址上保存了输入的值 acc ...

  4. ES6-Array

    /* * 数组解构赋值: * ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这种被称为解构. * 示例如下: */ var [a,b,c] = [1,2,3]; console.log ...

  5. Go 开发

    0.参数传递永远是值传递,地址也是一种值 1.go 开发环境的配置 2.import 包的几种形式: 1)_,默认导入一个包时,会将包中内容导入再执行包中的init()方法,有时并不需要某个包,只是想 ...

  6. 五个步骤教你理清Redis与Memcached的区别

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由Super发表于云+社区专栏 memcached和redis,作为近些年最常用的缓存服务器,相信大家对它们再熟悉不过了.前两年还在学校 ...

  7. java Fork/Join框架

    应用程序并行计算遇到的问题 当硬件处理能力不能按摩尔定律垂直发展的时候,选择了水平发展.多核处理器已广泛应用,未来处理器的核心数将进一步发布,甚至达到上百上千的数量.而现在很多的应用程序在运行在多核心 ...

  8. cefsharp 在anycpu下运行

    从cefsharp57开始就支持anycpu了,不过需要一些设置: 1.首先要打开*.csprj文件,添加节点 <CefSharpAnyCpuSupport>true</CefSha ...

  9. [javaSE] 数组(查找-二分查找)

    前提数组必须是有序的 定义最小,最大,中间的角标索引 int min,max,mid; min=0; max=arr.length-1; mid=(min+max)/2; 上面的索引需要变化,使用循环 ...

  10. 通过SourceTree连接SSL有问题的自建gitlab服务器

    我用的是 SourceTree 作为Git客户端的,用它连接一个HTTPS证书过期的自建git服务,会收到下面错误: abort: error: _ssl.c:507: error:14090086: ...