특정 경우에 iText 및 XMLWorkerHelper를 사용하여 문제가 발생합니다. 문제없이 여러 페이지로 여러 PDF 파일을 생성하지만 때로는 특수 문자와 함께 오류가 발생합니다. 특수 문자 오류가있는 iText를 사용하여 HTML을 PDF로 변환
나는 나의 템플릿을 테스트하고 그것은 예외가 말을해도, 내 HTML에 문제가 아니에요 :Exception thrown: 'iTextSharp.tool.xml.exceptions.RuntimeWorkerException' in itextsharp.xmlworker.dll
Additional information: Invalid nested tag tr found, expected closing tag td.
이 오류는 문자이다 : 내 템플릿에 추가됩니다 &.
<td>Launch C&O</td>
이 오류를 해결하는 방법을 정확히 알지 못합니다. 인코딩 오류입니까? PDF를 만들 때 인코딩 모드를 지정해야합니까? 당신이 조언이있는 경우
public async Task Generate(Stream stream, List<string> contentPages)
{
try
{
int cpt = 1;
Document document = new Document();
PdfWriter writer = PdfWriter.GetInstance(document, stream);
writer.CloseStream = false;
document.Open();
foreach (string pdfContentPage in contentPages)
{
try
{
document.NewPage();
using (StringReader srHtml = new StringReader(pdfContentPage))
{
XMLWorkerHelper.GetInstance().ParseXHtml(writer, document, srHtml);
}
++cpt;
}
catch (RuntimeWorkerException ex)
{
Console.Write($"An error occured at PDF generation for cpt = {cpt}");
Console.Write(ex.Message);
}
catch (Exception)
{
Console.WriteLine($"Content Error : pdfContentPage}");
throw;
}
}
document.Close();
}
catch (Exception)
{
throw;
}
}
, 나는 그것을 읽을 기뻐요 :
이
은 PDF를 생성하는 코드입니다! :)
아래로 시도하고 무슨 일이 일어 나는지. –
아무 것도 바뀌지 않았습니다. :) –
https://validator.w3.org/check의 W3C 유효성 검사기를 통해 HTML을 실행하고 * HTML 정리 기능으로 마크 업 정리 *를 선택하십시오. 원본 HTML과 비교하십시오. 페이지 하단의 정리 된 HTML로 다시 시도하십시오. * JTidy *로 코드를 자동화 할 수 있습니다. –