private static PDFFlowContent BuildSubscript(PDFAnsiTrueTypeFont font) { PDFAnsiTrueTypeFont fontSubscript = new PDFAnsiTrueTypeFont(font, 18); PDFAnsiTrueTypeFont fontRegular = new PDFAnsiTrueTypeFont(font, 12); PDFFormattedContent content = new PDFFormattedContent(); PDFFlowTextContent flowText = new PDFFlowTextContent(content); flowText.OuterMargins = new PDFFlowContentMargins(0, 0, 36, 0); PDFFormattedTextBlock titleBlock = new PDFFormattedTextBlock("Subscript text", fontRegular); content.Paragraphs.Add(new PDFFormattedParagraph(titleBlock)); content.Paragraphs.Add(new PDFFormattedParagraph(" ")); PDFFormattedTextBlock block1 = new PDFFormattedTextBlock("Y = X", font); block1.Subscript.Add(new PDFFormattedTextBlock("1", fontSubscript)); PDFFormattedTextBlock block2 = new PDFFormattedTextBlock(" + X", font); block2.Subscript.Add(new PDFFormattedTextBlock("2", fontSubscript)); PDFFormattedTextBlock block3 = new PDFFormattedTextBlock(" + X", font); block3.Subscript.Add(new PDFFormattedTextBlock("3", fontSubscript)); PDFFormattedTextBlock blockn = new PDFFormattedTextBlock(" + ... + X", font); blockn.Subscript.Add(new PDFFormattedTextBlock("n", fontSubscript)); PDFFormattedParagraph paragraph = new PDFFormattedParagraph(block1, block2, block3, blockn); paragraph.HorizontalAlign = PDFStringHorizontalAlign.Center; content.Paragraphs.Add(paragraph); return(flowText); }
private static PDFFlowContent BuildSuperscript(PDFAnsiTrueTypeFont font) { PDFAnsiTrueTypeFont fontSuperscript = new PDFAnsiTrueTypeFont(font, 18); PDFAnsiTrueTypeFont fontRegular = new PDFAnsiTrueTypeFont(font, 12); PDFFormattedContent content = new PDFFormattedContent(); PDFFlowTextContent flowText = new PDFFlowTextContent(content); PDFFormattedTextBlock titleBlock = new PDFFormattedTextBlock("Superscript text", fontRegular); content.Paragraphs.Add(new PDFFormattedParagraph(titleBlock)); content.Paragraphs.Add(new PDFFormattedParagraph(" ")); PDFFormattedTextBlock xBlock = new PDFFormattedTextBlock("X", font); xBlock.Superscript.Add(new PDFFormattedTextBlock("2", fontSuperscript)); PDFFormattedTextBlock yBlock = new PDFFormattedTextBlock(" + Y", font); yBlock.Superscript.Add(new PDFFormattedTextBlock("2", fontSuperscript)); PDFFormattedTextBlock zBlock = new PDFFormattedTextBlock(" = Z", font); zBlock.Superscript.Add(new PDFFormattedTextBlock("2", fontSuperscript)); PDFFormattedParagraph paragraph = new PDFFormattedParagraph(xBlock, yBlock, zBlock); paragraph.HorizontalAlign = PDFStringHorizontalAlign.Center; content.Paragraphs.Add(paragraph); return(flowText); }
private void CreateIntroPage(PDFFlowDocument document, PDFAnsiTrueTypeFont verdana, PDFAnsiTrueTypeFont verdanaBold) { PDFFormattedParagraph titleParagraph = new PDFFormattedParagraph("DOCUMENT INTRO PAGE"); titleParagraph.SpacingBefore = 300; (titleParagraph.Blocks[0] as PDFFormattedTextBlock).Font = new PDFAnsiTrueTypeFont(verdanaBold); (titleParagraph.Blocks[0] as PDFFormattedTextBlock).Font.Size = 36; titleParagraph.HorizontalAlign = PDFStringHorizontalAlign.Center; PDFFormattedParagraph subtitleParagraph = new PDFFormattedParagraph("no headers and footers"); (subtitleParagraph.Blocks[0] as PDFFormattedTextBlock).Font = new PDFAnsiTrueTypeFont(verdana); (subtitleParagraph.Blocks[0] as PDFFormattedTextBlock).Font.Size = 10; subtitleParagraph.HorizontalAlign = PDFStringHorizontalAlign.Center; PDFFormattedContent fc = new PDFFormattedContent(); fc.Paragraphs.Add(titleParagraph); fc.Paragraphs.Add(subtitleParagraph); document.AddContent(new PDFFlowTextContent(fc)); }
private static void FormattedContent(PDFFixedDocument document, PDFStructureElement seParent, PDFAnsiTrueTypeFont font) { string text1 = "Morbi pulvinar eros sit amet diam lacinia, ut feugiat ligula bibendum. Suspendisse ultrices cursus condimentum. " + "Pellentesque semper iaculis luctus. Sed ac maximus urna. Aliquam erat volutpat. "; string text2 = "Vivamus vel sollicitudin dui. Aenean efficitur " + "fringilla dui, at varius lacus luctus ac. Quisque tellus dui, lacinia non lectus nec, semper faucibus erat."; PDFAnsiTrueTypeFont headingFont = new PDFAnsiTrueTypeFont(font, 16); PDFAnsiTrueTypeFont textFont = new PDFAnsiTrueTypeFont(font, 10); PDFBrush blackBrush = new PDFBrush(PDFRgbColor.Black); PDFPen blackPen = new PDFPen(PDFRgbColor.Black, 1); PDFPage page = document.Pages.Add(); page.TabOrder = PDFPageTabOrder.Structure; PDFStructureElement seSection = new PDFStructureElement(PDFStandardStructureTypes.Section); seSection.Title = "Formatted content"; seParent.AppendChild(seSection); PDFStructureElement seHeading = new PDFStructureElement(PDFStandardStructureTypes.Heading); seSection.AppendChild(seHeading); page.Graphics.BeginStructureElement(seHeading); page.Graphics.DrawString("Another heading", headingFont, blackBrush, 30, 50); page.Graphics.EndStructureElement(); PDFFormattedContent fc = new PDFFormattedContent(); PDFFormattedParagraph paragraph1 = new PDFFormattedParagraph(text1, textFont); paragraph1.LineSpacing = 1.2; paragraph1.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph1.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Paragraph); seSection.AppendChild(paragraph1.StructureElement); fc.Paragraphs.Add(paragraph1); PDFFormattedTextBlock block1 = new PDFFormattedTextBlock("Sample paragraph with a link.\r\n", textFont); block1.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Span); PDFFormattedTextBlock block2 = new PDFFormattedTextBlock("http://www.o2sol.com/\r\n", textFont); block2.TextColor = new PDFBrush(PDFRgbColor.Blue); block2.Action = new PDFUriAction("http://www.o2sol.com/"); block2.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Link); PDFFormattedTextBlock block3 = new PDFFormattedTextBlock("http://www.pdf4net.com/", textFont); block3.TextColor = new PDFBrush(PDFRgbColor.Blue); block3.Action = new PDFUriAction("http://www.pdf4net.com/"); block3.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Link); PDFFormattedParagraph paragraph2 = new PDFFormattedParagraph(block1, block2, block3); paragraph2.LineSpacing = 1.2; paragraph2.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph2.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Paragraph); // Do not mark the paragraph in the content stream, instead its blocks will be marked. paragraph2.StructureElement.GenerateMarkedContentSequence = false; paragraph2.StructureElement.AppendChild(block1.StructureElement); paragraph2.StructureElement.AppendChild(block2.StructureElement); paragraph2.StructureElement.AppendChild(block3.StructureElement); seSection.AppendChild(paragraph2.StructureElement); fc.Paragraphs.Add(paragraph2); PDFFormattedParagraph paragraph3 = new PDFFormattedParagraph(text2, textFont); paragraph3.LineSpacing = 1.2; paragraph3.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph3.StructureElement = new PDFStructureElement(PDFStandardStructureTypes.Paragraph); seSection.AppendChild(paragraph3.StructureElement); fc.Paragraphs.Add(paragraph3); page.Graphics.DrawFormattedContent(fc, 30, 70, 550, 0); }
/// <summary> /// Main method for running the sample. /// </summary> public static SampleOutputInfo[] Run() { PDFStandardFont heading1Font = new PDFStandardFont(PDFStandardFontFace.HelveticaBold, 16); PDFStandardFont heading2Font = new PDFStandardFont(heading1Font); heading2Font.Size = 14; PDFStandardFont heading3Font = new PDFStandardFont(heading1Font); heading3Font.Size = 12; PDFFlowDocument doc = new PDFFlowDocument(); // Add an intro page to the document. PDFFormattedContent fc = new PDFFormattedContent("DEMO DOCUMENT\r\nwith automatically generated\r\nTable of Contents"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = new PDFStandardFont(heading1Font); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font.Size = 24; fc.Paragraphs[0].HorizontalAlign = PDFStringHorizontalAlign.Center; PDFFlowTextContent ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); doc.StartNewPage(); // Enable/disable the autonumbering of document headings bool autoNumber = true; // Setup the flow document content. // Heading content objects are used for the generation of table of contents. fc = new PDFFormattedContent("Chapter One"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading1Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; PDFFlowHeadingContent fhc = new PDFFlowHeadingContent(fc); fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); PDFFormattedParagraph fp = new PDFFormattedParagraph(text1); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Section One"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading2Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 2; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text2); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module One"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text3); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Two"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text4); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Section Two"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading2Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 2; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text5); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Three"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text6); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Four"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text7); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Chapter Two"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading1Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text8); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Section Three"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading2Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 2; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text9); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Five"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text10); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Six"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text1); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Section Four"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading2Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 2; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text2); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Seven"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text3); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); fc = new PDFFormattedContent("Module Eight"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = heading3Font; fc.Paragraphs[0].SpacingBefore = fc.Paragraphs[0].SpacingAfter = 12; fhc = new PDFFlowHeadingContent(fc); fhc.Level = 3; fhc.AutoNumber = autoNumber; doc.AddContent(fhc); fc = new PDFFormattedContent(); fp = new PDFFormattedParagraph(text4); fp.HorizontalAlign = PDFStringHorizontalAlign.Justified; fp.FirstLineIndent = 18; fc.Paragraphs.Add(fp); ftc = new PDFFlowTextContent(fc); doc.AddContent(ftc); // Setup the document's table of contents. PDFFlowDocumentTOCSettings tocSettings = new PDFFlowDocumentTOCSettings(); // Generate the table of contents as document outline. tocSettings.GenerateDocumentOutline = true; // Generate the table of contents as a separate page in the document. tocSettings.GenerateContentsPage = true; tocSettings.ContentsTextFont = new PDFStandardFont(PDFStandardFontFace.Helvetica, 10); tocSettings.ContentsTextColor = new PDFBrush(PDFRgbColor.Black); // Insert the TOC page at position 1 (after the first page of the document). tocSettings.ContentsPagePosition = 1; // Visually connect the TOC entries with the page numbers using dots tocSettings.ContentsEntryFiller = '.'; // Create a title for the TOC fc = new PDFFormattedContent("TABLE OF CONTENTS"); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font = new PDFStandardFont(heading1Font); (fc.Paragraphs[0].Blocks[0] as PDFFormattedTextBlock).Font.Size = 24; fc.Paragraphs[0].HorizontalAlign = PDFStringHorizontalAlign.Center; fc.Paragraphs[0].SpacingAfter = 24; tocSettings.ContentsTitle = new PDFFlowTextContent(fc); // Indent the entries in the TOC if (autoNumber) { tocSettings.ContentsHeadingIndent = 10; } doc.GenerateTableOfContents(tocSettings); SampleOutputInfo[] output = new SampleOutputInfo[] { new SampleOutputInfo(doc, "tableofcontents.pdf") }; return(output); }
/// <summary> /// Main method for running the sample. /// </summary> public static SampleOutputInfo[] Run() { string pdf4netText = "PDF4NET"; string paragraph1Block2Text = " library is a .NET/Xamarin library for cross-platform PDF development. Code written for "; string paragraph1Block4Text = " can be compiled on all supported platforms without changes. The library features a " + "wide range of capabilities, for both beginers and advanced PDF developers."; string paragraph2Block1Text = "The development style is based on fixed document model, where each page is created as needed " + "and content is placed at fixed position using a grid based layout.\r\n" + "This gives you access to all PDF features, whether you want to create a simple file " + "or you want to create a transparency knockout group at COS level, and lets you build more complex models on top of the library."; string paragraph3Block2Text = " has been developed entirely in C# and it is 100% managed code."; string paragraph4Block1Text = "With "; string paragraph4Block3Text = " you can port your PDF application logic to other platforms with zero effort which means faster time to market."; string paragraph5Block1Text = "Simple licensing per developer with royalty free distribution helps you keep your costs under control."; string paragraph6Block1Text = "SUPPORTED PLATFORMS"; string paragraph7Block1Text = "NET 2.0 to .NET 4.5"; string paragraph8Block1Text = "Windows Forms"; string paragraph9Block1Text = "ASP.NET Webforms and MVC"; string paragraph10Block1Text = "Console applications"; string paragraph11Block1Text = "Windows services"; string paragraph12Block1Text = "Mono"; string paragraph13Block1Text = "WPF 4.0 & 4.5"; string paragraph14Block1Text = "Silverlight 4 & 5"; string paragraph15Block1Text = "WinRT (Windows Store applications)"; string paragraph16Block1Text = "Windows Phone 7 & 8"; string paragraph17Block1Text = "Xamarin.iOS"; string paragraph18Block1Text = "Xamarin.Android"; PDFStandardFont textFont = new PDFStandardFont(PDFStandardFontFace.Helvetica, 10); PDFFormattedTextBlock pdf4netLinkBlock = new PDFFormattedTextBlock(pdf4netText); pdf4netLinkBlock.Font = new PDFStandardFont(PDFStandardFontFace.HelveticaBold, 10); pdf4netLinkBlock.Font.Underline = true; pdf4netLinkBlock.TextColor = new PDFBrush(PDFRgbColor.Blue); pdf4netLinkBlock.Action = new PDFUriAction("http://www.o2sol.com/"); PDFFormattedParagraph paragraph1 = new PDFFormattedParagraph(); paragraph1.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph1.LineSpacing = 1.2; paragraph1.SpacingAfter = 3; paragraph1.FirstLineIndent = 10; paragraph1.HorizontalAlign = PDFStringHorizontalAlign.Justified; paragraph1.Blocks.Add(pdf4netLinkBlock); paragraph1.Blocks.Add(new PDFFormattedTextBlock(paragraph1Block2Text, textFont)); paragraph1.Blocks.Add(pdf4netLinkBlock); paragraph1.Blocks.Add(new PDFFormattedTextBlock(paragraph1Block4Text, textFont)); PDFFormattedParagraph paragraph2 = new PDFFormattedParagraph(); paragraph2.SpacingAfter = 3; paragraph2.FirstLineIndent = 10; paragraph2.HorizontalAlign = PDFStringHorizontalAlign.Justified; paragraph2.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph2.LineSpacing = 1.2; paragraph2.Blocks.Add(new PDFFormattedTextBlock(paragraph2Block1Text, textFont)); PDFFormattedParagraph paragraph3 = new PDFFormattedParagraph(); paragraph3.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph3.LineSpacing = 1.2; paragraph3.SpacingAfter = 3; paragraph3.FirstLineIndent = 10; paragraph3.HorizontalAlign = PDFStringHorizontalAlign.Justified; paragraph3.Blocks.Add(pdf4netLinkBlock); paragraph3.Blocks.Add(new PDFFormattedTextBlock(paragraph3Block2Text, textFont)); PDFFormattedParagraph paragraph4 = new PDFFormattedParagraph(); paragraph4.LineSpacingMode = PDFFormattedParagraphLineSpacing.Multiple; paragraph4.LineSpacing = 1.2; paragraph4.SpacingAfter = 3; paragraph4.FirstLineIndent = 10; paragraph4.HorizontalAlign = PDFStringHorizontalAlign.Justified; paragraph4.Blocks.Add(new PDFFormattedTextBlock(paragraph4Block1Text, textFont)); paragraph4.Blocks.Add(pdf4netLinkBlock); paragraph4.Blocks.Add(new PDFFormattedTextBlock(paragraph4Block3Text, textFont)); PDFFormattedParagraph paragraph5 = new PDFFormattedParagraph(); paragraph5.FirstLineIndent = 10; paragraph5.HorizontalAlign = PDFStringHorizontalAlign.Justified; paragraph5.Blocks.Add(new PDFFormattedTextBlock(paragraph5Block1Text, textFont)); PDFFormattedParagraph paragraph6 = new PDFFormattedParagraph(); paragraph6.SpacingBefore = 10; paragraph6.Blocks.Add(new PDFFormattedTextBlock(paragraph6Block1Text, textFont)); PDFFormattedTextBlock bulletBlock = new PDFFormattedTextBlock("\x76 ", new PDFStandardFont(PDFStandardFontFace.ZapfDingbats, 10)); PDFFormattedParagraph paragraph7 = new PDFFormattedParagraph(); paragraph7.SpacingBefore = 3; paragraph7.Bullet = bulletBlock; paragraph7.LeftIndentation = 10; paragraph7.Blocks.Add(new PDFFormattedTextBlock(paragraph7Block1Text, textFont)); PDFFormattedParagraph paragraph8 = new PDFFormattedParagraph(); paragraph8.SpacingBefore = 3; paragraph8.Bullet = bulletBlock; paragraph8.LeftIndentation = 10; paragraph8.Blocks.Add(new PDFFormattedTextBlock(paragraph8Block1Text, textFont)); PDFFormattedParagraph paragraph9 = new PDFFormattedParagraph(); paragraph9.SpacingBefore = 3; paragraph9.Bullet = bulletBlock; paragraph9.LeftIndentation = 10; paragraph9.Blocks.Add(new PDFFormattedTextBlock(paragraph9Block1Text, textFont)); PDFFormattedParagraph paragraph10 = new PDFFormattedParagraph(); paragraph10.SpacingBefore = 3; paragraph10.Bullet = bulletBlock; paragraph10.LeftIndentation = 10; paragraph10.Blocks.Add(new PDFFormattedTextBlock(paragraph10Block1Text, textFont)); PDFFormattedParagraph paragraph11 = new PDFFormattedParagraph(); paragraph11.SpacingBefore = 3; paragraph11.Bullet = bulletBlock; paragraph11.LeftIndentation = 10; paragraph11.Blocks.Add(new PDFFormattedTextBlock(paragraph11Block1Text, textFont)); PDFFormattedParagraph paragraph12 = new PDFFormattedParagraph(); paragraph12.SpacingBefore = 3; paragraph12.Bullet = bulletBlock; paragraph12.LeftIndentation = 10; paragraph12.Blocks.Add(new PDFFormattedTextBlock(paragraph12Block1Text, textFont)); PDFFormattedParagraph paragraph13 = new PDFFormattedParagraph(); paragraph13.SpacingBefore = 3; paragraph13.Bullet = bulletBlock; paragraph13.LeftIndentation = 10; paragraph13.Blocks.Add(new PDFFormattedTextBlock(paragraph13Block1Text, textFont)); PDFFormattedParagraph paragraph14 = new PDFFormattedParagraph(); paragraph14.SpacingBefore = 3; paragraph14.Bullet = bulletBlock; paragraph14.LeftIndentation = 10; paragraph14.Blocks.Add(new PDFFormattedTextBlock(paragraph14Block1Text, textFont)); PDFFormattedParagraph paragraph15 = new PDFFormattedParagraph(); paragraph15.SpacingBefore = 3; paragraph15.Bullet = bulletBlock; paragraph15.LeftIndentation = 10; paragraph15.Blocks.Add(new PDFFormattedTextBlock(paragraph15Block1Text, textFont)); PDFFormattedParagraph paragraph16 = new PDFFormattedParagraph(); paragraph16.SpacingBefore = 3; paragraph16.Bullet = bulletBlock; paragraph16.LeftIndentation = 10; paragraph16.Blocks.Add(new PDFFormattedTextBlock(paragraph16Block1Text, textFont)); PDFFormattedParagraph paragraph17 = new PDFFormattedParagraph(); paragraph17.SpacingBefore = 3; paragraph17.Bullet = bulletBlock; paragraph17.LeftIndentation = 10; paragraph17.Blocks.Add(new PDFFormattedTextBlock(paragraph17Block1Text, textFont)); PDFFormattedParagraph paragraph18 = new PDFFormattedParagraph(); paragraph18.SpacingBefore = 3; paragraph18.Bullet = bulletBlock; paragraph18.LeftIndentation = 10; paragraph18.Blocks.Add(new PDFFormattedTextBlock(paragraph18Block1Text, textFont)); PDFFormattedContent formattedContent = new PDFFormattedContent(); formattedContent.Paragraphs.Add(paragraph1); formattedContent.Paragraphs.Add(paragraph2); formattedContent.Paragraphs.Add(paragraph3); formattedContent.Paragraphs.Add(paragraph4); formattedContent.Paragraphs.Add(paragraph5); formattedContent.Paragraphs.Add(paragraph6); formattedContent.Paragraphs.Add(paragraph7); formattedContent.Paragraphs.Add(paragraph8); formattedContent.Paragraphs.Add(paragraph9); formattedContent.Paragraphs.Add(paragraph10); formattedContent.Paragraphs.Add(paragraph11); formattedContent.Paragraphs.Add(paragraph12); formattedContent.Paragraphs.Add(paragraph13); formattedContent.Paragraphs.Add(paragraph14); formattedContent.Paragraphs.Add(paragraph15); formattedContent.Paragraphs.Add(paragraph16); formattedContent.Paragraphs.Add(paragraph17); formattedContent.Paragraphs.Add(paragraph18); PDFFixedDocument document = new PDFFixedDocument(); PDFPage page = document.Pages.Add(); page.Canvas.DrawFormattedContent(formattedContent, 50, 50, 500, 700); page.Canvas.CompressAndClose(); SampleOutputInfo[] output = new SampleOutputInfo[] { new SampleOutputInfo(document, "formattedcontent.pdf") }; return(output); }