EasyBulletList.vb
C# VB
'''' This code is part of Document Solutions for PDF .NET demos.'' Copyright (c) MESCIUS inc. All rights reserved.''Imports System.IOImports System.DrawingImports GrapeCity.Documents.PdfImports GrapeCity.Documents.TextImports GrapeCity.Documents.DrawingImports GCTEXT = GrapeCity.Documents.TextImports GCDRAW = GrapeCity.Documents.Drawing
Public Class EasyBulletList Public Function CreatePDF(ByVal stream As Stream) As Integer Const FontSize As Integer = 12 Dim doc = New GcPdfDocument() Dim page = doc.Pages.Add() Dim g = page.Graphics Dim tl = g.CreateTextLayout()
Dim img = GCDRAW.Image.FromFile(Path.Combine("Resources", "ImagesBis", "2020-website-gcdocs-headers_tall.png")) Dim rc = page.Bounds rc.Height *= 0.65F g.DrawImage(img, rc, Nothing, ImageAlign.StretchImage)
Dim ip = New PointF(48, 72)
Dim font = GCTEXT.Font.FromFile(Path.Combine("Resources", "Fonts", "NotoSans-Regular.ttf")) Dim tfCap = New TextFormat() With {.Font = font, .FontSize = FontSize * 1.6F, .ForeColor = Color.White} Dim tf = New TextFormat() With {.Font = font, .FontSize = FontSize, .ForeColor = Color.White} tl.MaxWidth = 72 * 6
' Header: tl.AppendLine("Feature-Rich C# .NET PDF API Library for Total Document Control", tfCap) tl.AppendLine(tfCap) tl.AppendLine("Document Solutions for PDF (DsPdf, previously GcPdf) allows you to generate documents with speed, memory efficiency with no dependencies.", tf) tl.AppendLine(tf) g.DrawTextLayout(tl, ip)
' Bullet list: ip.Y += tl.ContentHeight tl.Clear() Const bullet As String = ChrW(&H2022) & ChrW(&H2003) tl.FirstLineIndent = -g.MeasureString(bullet, tf).Width tl.ParagraphSpacing += 4
tl.Append(bullet, tf) tl.AppendLine("Generate, load, edit, and save PDF documents in C# or VB", tf) tl.Append(bullet, tf) tl.AppendLine("Support multiple languages with full text, paragraph formatting, and fonts", tf) tl.Append(bullet, tf) tl.AppendLine("Mark and redact sensitive content from PDFs", tf) tl.Append(bullet, tf) tl.AppendLine("View or embed audio and video content in PDFs", tf) tl.Append(bullet, tf) tl.AppendLine("Multiple options for optimizing PDF documents", tf) tl.Append(bullet, tf) tl.AppendLine("Support hundreds of PDF features", tf) tl.Append(bullet, tf) tl.AppendLine("All features are fully supported on Windows, macOS, and Linux", tf) tl.Append(bullet, tf) tl.AppendLine("Includes a JavaScript PDF Viewer to view and edit PDF documents", tf) g.DrawTextLayout(tl, ip)
doc.Save(stream) Return doc.Pages.Count End FunctionEnd Class