我想通过将HTML内容传递给函数来生成PDF。 我已经为此使用了iTextSharp,但是当它遇到表格并且布局变得凌乱时,它的表现不佳。

有没有更好的办法?

#1楼

尝试使用此PDF Duo .Net转换组件,可将HTML从ASP.NET应用程序转换为PDF,而无需使用其他dll。

您可以传递HTML字符串或文件,或流以生成PDF。 使用下面的代码(示例C#):

string file_html = @"K:\hdoc.html";

string file_pdf = @"K:\new.pdf";

try

{

DuoDimension.HtmlToPdf conv = new DuoDimension.HtmlToPdf();

conv.OpenHTML(file_html);

conv.SavePDF(file_pdf);

textBox4.Text = "C# Example: Converting succeeded";

}

#2楼

好的,使用这项技术。

src可以从这里下载,需要nant

#3楼

更新:现在我推荐在wkhtmltopdf上使用PupeteerSharp。

尝试wkhtmtopdf 。 这是到目前为止我发现的最好的工具。

对于.NET,您可以使用此小型库轻松调用wkhtmtopdf命令行实用程序。

#4楼

您可以创建HTML页面的位图,然后使用例如iTextSharp将位图插入PDF,而不是直接将HTML解析为PDF。

这是一个如何获取URL位图的代码。 我在SO的某处找到了它,如果找到了源,我将其链接起来。

public System.Drawing.Bitmap HTMLToImage(String strHTML)

{

System.Drawing.Bitmap myBitmap = null;

System.Threading.Thread myThread = new System.Threading.Thread(delegate()

{

// create a hidden web browser, which will navigate to the page

System.Windows.Forms.WebBrowser myWebBrowser = new System.Windows.Forms.WebBrowser();

// we don't want scrollbars on our image

myWebBrowser.ScrollBarsEnabled = false;

// don't let any errors shine through

myWebBrowser.ScriptErrorsSuppressed = true;

// let's load up that page!

myWebBrowser.Navigate("about:blank");

// wait until the page is fully loaded

while (myWebBrowser.ReadyState != System.Windows.Forms.WebBrowserReadyState.Complete)

System.Windows.Forms.Application.DoEvents();

myWebBrowser.Document.Body.InnerHtml = strHTML;

// set the size of our web browser to be the same size as the page

int intScrollPadding = 20;

int intDocumentWidth = myWebBrowser.Document.Body.ScrollRectangle.Width + intScrollPadding;

int intDocumentHeight = myWebBrowser.Document.Body.ScrollRectangle.Height + intScrollPadding;

myWebBrowser.Width = intDocumentWidth;

myWebBrowser.Height = intDocumentHeight;

// a bitmap that we will draw to

myBitmap = new System.Drawing.Bitmap(intDocumentWidth - intScrollPadding, intDocumentHeight - intScrollPadding);

// draw the web browser to the bitmap

myWebBrowser.DrawToBitmap(myBitmap, new System.Drawing.Rectangle(0, 0, intDocumentWidth - intScrollPadding, intDocumentHeight - intScrollPadding));

});

myThread.SetApartmentState(System.Threading.ApartmentState.STA);

myThread.Start();

myThread.Join();

return myBitmap;

}

#5楼

使用Winnovative HTML转PDF转换器,您可以在一行中转换HTML字符串

byte[] outPdfBuffer = htmlToPdfConverter.ConvertHtml(htmlString, baseUrl);

基本URL用于解析HTML字符串中相对URL引用的图像。 另外,您可以在HTML中使用完整的URL或使用src =“ data:image / png”嵌入图像作为图像标签。

为了回答有关Winnovative转换器的“ fubaar”用户评论,必须进行更正。 该转换器不使用IE作为渲染引擎。 它实际上不依赖于任何已安装的软件,并且呈现与WebKit引擎兼容。

.net html转为pdf,在.NET中将HTML转换为PDF相关推荐

  1. .net html转为pdf,Aspose.PDF for .NET功能解读:如何在桌面和Web应用中将HTML转换为PDF...

    Aspose.PDF for .NET是一种高级PDF处理和解析API,用于在跨平台应用程序中执行文档管理和操作任务.API可以轻松用于生成,修改,转换,渲染,保护和打印PDF文档,而无需使用Adob ...

  2. Word处理控件Aspose.Words功能演示:在 C# .NET 中将 Word 转换为 PDF - 完整指南

    Aspose.Words 是一种高级Word文档处理API,用于执行各种文档管理和操作任务.API支持生成,修改,转换,呈现和打印文档,而无需在跨平台应用程序中直接使用Microsoft Word.此 ...

  3. android pdf转jpg格式,在Android中将图片转换为PDF

    我想你正在使用iText Library将文本转换成pdf.使用它将图像转换为pdf. import java.io.*; import com.lowagie.text.*; import com. ...

  4. 国产Excel开发组件Spire.XLS【转换】教程(19):在 如何在 C#、VB.NET 中将 CSV 转换为 PDF

    Spire.XLS 支持加载 CSV 文件并保存为 Excel 或 PDF 文件.本教程展示了如何使用带有 C# 和 VB.NET 的 Spire.XLS 将 CSV 转换为 PDF. 示例 CSV ...

  5. java docx转pdf_如何在Java中将DOCX转换为PDF

    自从Microsoft Word 2003中引入DOCX格式以来,由于其易于编辑和深入的设计选择,DOCX格式一直在全球各地的办公室中享有很高的知名度.但是9当涉及到兼容性,尤其是最终用户的查看一致性 ...

  6. 国产Excel开发组件Spire.XLS【转换】教程(1):在C#中将Excel转换为PDF

    目前使用 .NET excel 组件将 Excel 转换为 PDF 非常受欢迎,但目前市面上实现该功能的组件较为冗杂,本文将介绍一种简单又快捷的方式来帮你实现转换.使用 Spire.XLS for . ...

  7. Java中将Html转换为PDF

    Html分两种情况转换为Pdf: 第一种:html的文件 第二钟:html格式的字符串 我们先来讲一下第一种情况: 1.市面上有很多的html转pdf的方法,但是不是受限于中文的限制就是受限于css样 ...

  8. c 将html导出pdf文件,将HTML页面转换为PDF文件并导出

    目碎前整要们开自近事端个广的的带近事端个广前,在大多数的管理系统中,都会有这样一个功能:根据相关的条件查询相应的数据,并生成可视化报表,然后可导出为PDF文件.本文只展现生成可视化报表之后导出PDF文 ...

  9. 测试软件能批量转换成pdf吗,cad如何批量转换为pdf软件

    CAD转换成PDF的方法有很多,那么大家知道cad如何批量转换为pdf软件吗?下面是学习啦小编整理的方法,希望能给大家解答. cad批量转换为pdf软件的方法: 1.首先要打开所有要转换的dwg文件, ...

最新文章

  1. BZOJ-2038-小Z的袜子hose-莫队
  2. python3+requests:get/post请求
  3. 如何使用Photoshop制作真实的尺子
  4. 方法对象Spring MVC SimpleFormController
  5. STP的收敛及高级特性
  6. 卸载mysql的步骤_卸载MySQL数据库的完整步骤(图)
  7. chrome的webdriver下载地址
  8. 连续多帧图像光流对齐和光流运动检测
  9. 基于php+MYSQL的旅游景点攻略的设计与实现 毕业设计源码301216
  10. 2022-6-13 全O(1)的数据结构,两数相加,无重复字符的最长子串,寻找两个正序数组的中位数,盛最多水的容器,......
  11. vue+elementui最简单的面包屑写法
  12. compat-mysql安装_Centos7 rpm方式安装Percona Mysql 8
  13. Nginx 的安装配置
  14. 2020-2021考研南京大学软件学院学习经验分享(英语90,842自命题110+)
  15. VoIP通话之SIP协议
  16. 下定决心学Phython后,小白是这样做滴
  17. Cannot initialize a variable of type 'Stu *' with an rvalue of type 'void *'
  18. java p2p 技术可行性分析_Atitit JAVA p2p设计与总结  JXTA 2
  19. 面试系列(十五):好未来学而思网校 服务器开发
  20. SPICE仿真工具学习(一)——SPICE仿真工具介绍

热门文章

  1. 大数据可视化的最新动态
  2. 华为nova2s可以升级鸿蒙吗,华为Nova7怎么升级鸿蒙系统 Nova7升级鸿蒙系统步骤教程...
  3. Flutter showDialog/showModalBottomSheet刷新UI
  4. SQL常用语句-查询指定行的数据
  5. C#_System.Collections.Generic.KeyNotFoundException
  6. 北邮考研复试 | 机试 | 2014年北邮网研院机试(下午)
  7. 获得自定义的所有相簿
  8. 一小时入门vue组件(建议收藏)
  9. 曙光服务器装系统配置,曙光作业管理-调度系统安装配置手册
  10. HTML+CSS 五种布局方式