2
현재 iTextSharp XMLWorker 클래스를 사용하여 HTML을 PDF로 변환하는 데 POC를 사용하고 있습니다.iTextSharp XMLWorker를 사용하여 HTML을 PDF로 변환하는 동안 CSS가 적용되지 않습니다.
- CSS 파일은 링크 태그를 사용하여 HTML 파일에 연결됩니다.
- CSS 파일의 경로는 파일 서버 경로입니다. HTML 파일과 같은 디렉토리입니다.
다음 기능을 사용하여 작업을 수행합니다. PDF 파일이 생성되지만 CSS 파일은 적용되지 않습니다.
public void Html2Pdf(FileStream inputHtml, Document doc, PdfWriter pdfWriter)
{
var cssFiles = new CssFilesImpl();
cssFiles.Add(XMLWorkerHelper.GetCSS(new FileStream(@"C:\Test_HTML2PDF\Test.css",FileMode.Open)));
var cssResolver = new StyleAttrCSSResolver(cssFiles);
var htmlContext = new HtmlPipelineContext(new CssAppliersImpl(new XMLWorkerFontProvider()));
htmlContext.SetAcceptUnknown(true).AutoBookmark(true).SetTagFactory(Tags.GetHtmlTagProcessorFactory());
htmlContext.SetPageSize(new Rectangle(doc.Left, doc.Bottom, doc.Right, doc.Top));
// Pipelines
var pdf = new PdfWriterPipeline(doc, pdfWriter);
var html = new HtmlPipeline(htmlContext, pdf);
var css = new CssResolverPipeline(cssResolver, html);
var worker = new XMLWorker(css, true);
var parser = new XMLParser(worker, Encoding.UTF8);
parser.Parse(inputHtml, Encoding.UTF8);
}
내가 무엇을 놓쳤으며이 문제를 해결할 수 있는지에 대한 의견을 공유하십시오.