我希望使用"使用PDFsharp的HTML HTML渲染器"将HTML转换为PDF.我已经看到在几个网站上提到它是可能的.但是,我似乎无法找到任何基本的示例代码来执行此操作.
我添加了以下NuGet包.
Install-Package HtmlRenderer.PdfSharp
Run Code Online (Sandbox Code Playgroud)
这就是我所拥有的.任何帮助将不胜感激.
我尝试使用PdfSharp和HtmlRenderer将HTML转换为PDF.这是代码的一部分:
private byte[] CreateHtmlContent()
{
string htmlContent = File.ReadAllText(@"htmlExample.txt");
using (MemoryStream ms = new MemoryStream())
{
PdfDocument pdfDocument = new PdfDocument();
PdfDocument pdf = PdfGenerator.GeneratePdf(htmlContent, PdfSharp.PageSize.A4, 60);
pdf.Save(ms);
res = ms.ToArray();
}
return res;
}
Run Code Online (Sandbox Code Playgroud)
除了分页符,一切正常.在某些页面上,我的结果就像在这张图片上
有可能解决这个问题吗?HTML内容是简单的html,只包含标题和段落,没有其他标签.我对iTextSharp没有这个问题,但在这个项目中我必须使用PdfSharp和MigraDoc.
我需要将格式正确的 HTML 字符串转换为 PDF 文档。
我发现这个DLL 应该可以满足我的需要,但它在格式化方面不能正常工作。
那是我试图转换的 HTML 代码,在浏览器上查看它工作正常(我使用了 Bootstrap CSS,它被正确地引用为 cdn)。
这就是我用来转换它的代码:
string html = "";
if (File.Exists(pathIN))
{
html = File.ReadAllText(pathIN);
}
PdfDocument pdfDocument = new PdfDocument();
PdfDocument pdf = PdfGenerator.GeneratePdf(html, PageSize.A4, 60);
pdf.Save(pathOUT);
Run Code Online (Sandbox Code Playgroud)
有人有什么建议吗?
我有一个相当简单的HTML页面通过asp.net呈现.通过HtmlRenderer.PdfSharp运行后,它在PDF中看起来很漂亮,除了图像没有出现.只是PDF中缺少图像的红色X,即使网页本身确实正确显示图像.
这是我的HtmlRenderer.PdfSharp代码:
public void BuildPDF( string url, string pdfPath ) {
string html = GetHTML(url);
Byte[] res = null;
using( MemoryStream ms = new MemoryStream() ) {
using( FileStream file = new FileStream(pdfPath, FileMode.Create, FileAccess.Write) ) {
byte[] bytes = new byte[ms.Length];
var pdf = TheArtOfDev.HtmlRenderer.PdfSharp.PdfGenerator.GeneratePdf(html, PdfSharp.PageSize.A4);
pdf.Save(ms);
res = ms.ToArray();
file.Write(res, 0, res.Length);
ms.Close();
}
}
}
private string GetHTML(string url) {
string html = string.Empty;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.AutomaticDecompression = DecompressionMethods.GZip;
using( HttpWebResponse response = …Run Code Online (Sandbox Code Playgroud)