大家好,感谢您的提前帮助。我是iText 7的新手,正在学习将网页转换为pdf。代码如下:
string url = "http://mypage.com";
WebClient myWebClient = new WebClient();
Stream myStream = myWebClient.OpenRead(url);
string dest = @"E:\HTMLToPDF.pdf";
HtmlConverter.ConvertToPdf(myStream, new System.IO.FileStream(dest, System.IO.FileMode.Create));
该页面使用了不在当前代码下呈现的外部样式表,但是,当我对检索到的页面进行替换时,会将样式表的完全限定路径(即http://mypage.com/styles/style.css而不是样式/ style.css)页面正确生成。这是我需要合并到代码中以生成pdf的东西,还是iText中存在另一种方法来处理此问题?任何见识将不胜感激。
答案 0 :(得分:2)
您需要添加一个ConverterProperties
对象,该对象告诉pdfHTML
(使用setBaseURI)在哪里查找外部资源。
// writer
PdfWriter writer = new PdfWriter(getOutputFile());
PdfDocument pdfDocument = new PdfDocument(writer);
pdfDocument.setDefaultPageSize(new PageSize(1000f, 1450f));
// convert
ConverterProperties converterProperties = new ConverterProperties();
converterProperties.setBaseUri("base_uri_here");
HtmlConverter.convertToPdf(new FileInputStream(getInputFiles()[0]), pdfDocument, converterProperties);