使用itext7和pdfHtml外接程序,当web应用程序部署在IIS中时,我将在下面得到此错误。良好的开发工作
System.NullReferenceException: Object reference not set to an instance of an object.
at iText.Html2pdf.Attach.Impl.Tags.BrTagWorker..ctor(IElementNode element, ProcessorContext context)
at iText.Html2pdf.Attach.Impl.DefaultTagWorkerMapping.<>c.<.cctor>b__1_10(IElementNode lhs, ProcessorContext rhs)
at iText.Html2pdf.Attach.Impl.DefaultTagWorkerFactory.GetTagWorker(IElementNode tag, ProcessorContext context)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.Visit(INode node)
at iText.Html2pdf.Attach.Impl.DefaultHtmlProcessor.ProcessDocument(INode root, PdfDocument pdfDocument)
at iText.Html2pdf.Attach.Attacher.Attach(IDocumentNode documentNode, PdfDocument pdfDocument, ConverterProperties converterProperties)
at iText.Html2pdf.HtmlConverter.ConvertToDocument(String html, PdfDocument pdfDocument, ConverterProperties converterProperties)
at iText.Html2pdf.HtmlConverter.ConvertToPdf(String html, PdfDocument pdfDocument, ConverterProperties converterProperties)
at iText.Html2pdf.HtmlConverter.ConvertToPdf(String html, PdfWriter pdfWriter, ConverterProperties converterProperties)
下面是我用来将html字符串转换为pdf的代码
public void GeneratePdf(string htmlContent, string fileName, string securityCode) {
StringBuilder sb = new StringBuilder();
sb.Append(htmlContent);
string baseUri = _env.ContentRootPath + "\\assets\\";
ConverterProperties prop = new();
prop.SetBaseUri(baseUri);
WriterProperties writerProperties = new();
writerProperties.SetStandardEncryption(Encoding.Default.GetBytes(securityCode),
Encoding.Default.GetBytes(securityCode),
EncryptionConstants.ALLOW_PRINTING,
EncryptionConstants.ENCRYPTION_AES_128);
PdfWriter pdfWriter = new(new FileStream(fileName, FileMode.Create), writerProperties);
HtmlConverter.ConvertToPdf(sb.ToString(), pdfWriter, prop);
}
发布于 2022-10-13 03:18:39
发现iText7 7的pdfHtml插件对于<br/>
标记是不好的。删除修复错误的所有换行标记。请注意,只有在IIS中部署应用程序时才会发生这种情况。
https://stackoverflow.com/questions/74040105
复制相似问题