Adding glossary in Aspose.Pdf for .Net

Share on FacebookTweet about this on TwitterShare on LinkedIn

Although glossary is not supported directly in Aspose.Pdf for .Net, it is possible to create glossary using the #$REFPAGE symbol. Here is an example:

[c#]

   //create Pdf and set license
   Pdf pdf = new Pdf();
   Aspose.Pdf.License lic = new Aspose.Pdf.License();
   lic.SetLicense(@”D:\CSharp\Test\License\Aspose.Custom.lic.xml”);
   pdf.IsTruetypeFontMapCached = true;
   pdf.TruetypeFontMapPath = @”d:\test”;

   //create new section
   Section sec1 = pdf.Sections.Add();

   //create tables and add data
   Table table1 = new Table();
   table1.ColumnWidths = “200 100”;
   sec1.Paragraphs.Add(table1);
   
   Row row1 = table1.Rows.Add();
   Cell cell1 = row1.Cells.Add();
   Heading heading1 = new Heading(pdf,sec1,1);
   heading1.Segments.Add(“KeyWord1: this is key word 1”);
   heading1.ID = “KeyWord1”;
   cell1.Paragraphs.Add(heading1);

   Cell cell2 = row1.Cells.Add(“cell 2”);

   //create another table
   table1 = new Table();
   table1.ColumnWidths = “200 100”;
   table1.IsFirstParagraph = true;
   sec1.Paragraphs.Add(table1);
   
   row1 = table1.Rows.Add();
   cell1 = row1.Cells.Add();
   heading1 = new Heading(pdf,sec1,1);
   heading1.Segments.Add(“KeyWord2: this is key word 2”);
   heading1.ID = “KeyWord2”;
   cell1.Paragraphs.Add(heading1);

   cell2 = row1.Cells.Add(“cell 2”);

   //add glossary
   Text glossary = new Text(“Glossary”);
   glossary.IsFirstParagraph = true;
   glossary.TextInfo.FontSize = 20;
   glossary.TextInfo.Alignment = AlignmentType.Center;
   sec1.Paragraphs.Add(glossary);

   Text item1 = new Text(“KeyWord1#$TAB#$REFPAGE(KeyWord1)”);
   item1.TabStops = new TabStops();
   TabStop stop1 = item1.TabStops.Add(380,TabLeaderType.Dot);
   sec1.Paragraphs.Add(item1);

   Text item2 = new Text(“KeyWord2#$TAB#$REFPAGE(KeyWord2)”);
   item2.TabStops = new TabStops();
   TabStop stop2 = item2.TabStops.Add(380,TabLeaderType.Dot);
   sec1.Paragraphs.Add(item2);

   pdf.Save(“d:/test/test.pdf”);

[VB.NET]

        ‘create Pdf and set license
        Dim pdf As Pdf = New Pdf
        Dim lic As Aspose.Pdf.License = New Aspose.Pdf.License
        lic.SetLicense(“D:\CSharp\Test\License\Aspose.Custom.lic.xml”)
        pdf.IsTruetypeFontMapCached = True
        pdf.TruetypeFontMapPath = “d:\test”

        ‘create new section
        Dim sec1 As Section = pdf.Sections.Add()

        ‘create tables and add data
        Dim table1 As Table = New Table
        table1.ColumnWidths = “200 100”
        sec1.Paragraphs.Add(table1)

        Dim row1 As Row = table1.Rows.Add()
        Dim cell1 As Cell = row1.Cells.Add()
        Dim heading1 As Heading = New Heading(pdf, sec1, 1)
        heading1.Segments.Add(“KeyWord1: this is key word 1”)
        heading1.ID = “KeyWord1”
        cell1.Paragraphs.Add(heading1)

        Dim cell2 As Cell = row1.Cells.Add(“cell 2”)

        ‘create another table
        table1 = New Table
        table1.ColumnWidths = “200 100”
        table1.IsFirstParagraph = True
        sec1.Paragraphs.Add(table1)

        row1 = table1.Rows.Add()
        cell1 = row1.Cells.Add()
        heading1 = New Heading(pdf, sec1, 1)
        heading1.Segments.Add(“KeyWord2: this is key word 2”)
        heading1.ID = “KeyWord2”
        cell1.Paragraphs.Add(heading1)

        cell2 = row1.Cells.Add(“cell 2”)

        ‘add glossary
        Dim glossary As Text = New Text(“Glossary”)
        glossary.IsFirstParagraph = True
        glossary.TextInfo.FontSize = 20
        glossary.TextInfo.Alignment = AlignmentType.Center
        sec1.Paragraphs.Add(glossary)

        Dim item1 As Text = New Text(“KeyWord1#$TAB#$REFPAGE(KeyWord1)”)
        item1.TabStops = New TabStops
        Dim stop1 As TabStop = item1.TabStops.Add(380, TabLeaderType.Dot)
        sec1.Paragraphs.Add(item1)

        Dim item2 As Text = New Text(“KeyWord2#$TAB#$REFPAGE(KeyWord2)”)
        item2.TabStops = New TabStops
        Dim stop2 As TabStop = item2.TabStops.Add(380, TabLeaderType.Dot)
        sec1.Paragraphs.Add(item2)

        pdf.Save(“d:/test/test.pdf”)