Я использую ITextSharp для создания PDF-файлов, и проблема в том, что когда я пытаюсь заставить ITextSharp конвертировать мой HTML-текст в PDF, это получается неправильно.
Я хочу знать, можно ли распечатать списки, как они есть, и если да, то как мне это сделать!
Я использую HTMLWorker для анализа строки html в списке,
затем я повторяю список и записываю файл в файл.
Это код, который я использую:
using (StringReader sr = new StringReader(txtConvertido))
{
string txtreplace = txtConvertido;
List<IElement> elements = HTMLWorker.ParseToList(sr, styles);
foreach (IElement e in elements)
{
if (e is List)
{
List newlist = null;
if (((List)e).Symbol.Content == "-")
{
newlist = new List(List.ORDERED);
newlist.SetListSymbol("\u2022");
}
else if (((List)e).Symbol.Content == "• ")
{
newlist = new List(List.UNORDERED);
newlist.SetListSymbol("•");
}
foreach (ListItem item in ((List)e).Items)
{
Chunk newchk = new Chunk(item.Chunks[0]);
float fontsize = item.Chunks[0].Font.Size;
if (fontsize == 1)
fontsize = font_Texto.Size;
newchk.Font = new Font(font_Texto.BaseFont, fontsize, item.Chunks[0].Font.Style, item.Chunks[0].Font.Color);
ListItem newitem = new ListItem() { Font = newchk.Font };
newitem.Add(newchk);
newlist.Add(newitem);
}
_p.Add(newlist);
}
else if (e is Paragraph)
{
foreach (Chunk chk in e.Chunks)
{
float fontsize = chk.Font.Size;
if (fontsize == 1)
fontsize = font_Texto.Size;
chk.Font = new Font(font_Texto.BaseFont, fontsize, chk.Font.Style, chk.Font.Color);
}
if (e is Paragraph)
{
if (((Paragraph)e).Alignment == -1)
((Paragraph)e).Alignment = alinhamento;
((Paragraph)e).SetLeading(0, multipliedLeading);
}
_p.Add(e);
}
}
}
Часть HTML-файла, которая не конвертируется правильно, представляет собой тег «ol start =" x "»:
итак, вместо печати:
1. ASDASD
2. gadsafasa
3. dsfa ggga
4. asdfa sdf
...
Он печатается как:
1. ASDASD
1. gadsafasa
1. dsfa ggga
1. asdfa sdf
...
$ Вот HTML:
<ol>
<li><strong>A «Nome Empresa»</strong></li>
</ol>
<br />
---[Descrever a atividade da empresa, o seu histórico, entre outras informações relevantes.]---<br />
<br />
<ol start="2">
<li><strong> O que é o código de ética e de conduta</strong></li>
</ol>
<br />
O Código de Ética e de Conduta
<br />
<ol start="3">
<li><strong>Aplicação</strong></li>
</ol>
<br />
O Código de Ética e de Conduta
<br />
<ol start="4">
<li><strong>Objetivos</strong></li>
</ol>
<br />
O Código de Ética e Conduta
<br />
<ol start="5">
<li><strong>Acompanhamento</strong></li>
</ol>
<br />
Todos os colaboradores, clientes, parceiros e fornecedores