TOC에 대한 질문이 있습니다. 들여 쓰기와 숫자를 사용하여 TOC를 만들려면 어떻게해야합니까?Table of Content (itextsharp)에서 들여 쓰기 및 숫자 생성
이제 TOC (목록 만)가 있습니다. Chunk
및 Paragraph
을 사용하여 만듭니다. TOC를 만들 때 무엇을 사용해야합니까? 어쩌면 List
을 사용해야하고 문서에 추가 할 것인가?
여기에 내가 만드는거야 TOC :
private int CreateTOC(XmlNode xmlNode, Document doc, PdfWriter writer, int number)
{
var toc = ev.GetTOC();
KeyValuePair<string, int> value;
Chunk dottedLine = new Chunk(new iTextSharp.text.pdf.draw.DottedLineSeparator());
for (int i = 0; i < xmlNode.ChildNodes.Count; i++)
{
var text = xmlNode.ChildNodes[i].Attributes["text"].Value;
value = toc[text];
var dest = value.Key;
var page = value.Value;
var c = new Chunk((i+1).ToString()+ ". " + text, font);
c.SetAction(PdfAction.GotoLocalPage(dest, false));
var p = new Paragraph(c);
p.Add(dottedLine);
c = new Chunk(page.ToString(), font);
c.SetAction(PdfAction.GotoLocalPage(dest, false));
p.Add(c);
doc.Add(p);
CreateTOC(xmlNode.ChildNodes[i], doc, writer, i+1);
}
return writer.PageNumber;
}
그리고 내용의 장을 참조하여 목록을 가져옵니다.
1. chapter1-------------------1page
1.1 subchupter1-------------2page
1.2 subchupter2-------------2page
1.3 subchupter3-------------3page
2. chupter2-------------------4page
2.1 subchupter4-------------4page
2.3 subchupter4-------------4page
2.3.1 subsubchupter------5page
...
...
...
내가 그것을 어떻게 해결할 수 : 는하지만 다음과 같은해야합니까?
감사합니다.
들여 쓰기를 만들기 위해 단락에서'setIndentationLeft()'를 사용하지 않는 이유는 무엇입니까? (또는 iTextSharp를 사용하는 경우 'IndentationLeft' 속성, http://stackoverflow.com/questions/29599797 참조) –