在 iText 7 ConvertToPdf 中使用外部 CSS 文件
Using External CSS Files with iText 7 ConvertToPdf
大家好,感谢您的提前帮助。我是 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 而不是 styles/style.css) 页面生成正确。这是我需要合并到代码中以生成 pdf 的东西,还是 iText 中有另一种方法来处理这个问题。任何见解将不胜感激。
您需要添加一个 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);
大家好,感谢您的提前帮助。我是 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 而不是 styles/style.css) 页面生成正确。这是我需要合并到代码中以生成 pdf 的东西,还是 iText 中有另一种方法来处理这个问题。任何见解将不胜感激。
您需要添加一个 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);