TextToOutlines.vb
'' 完毕:
Imports System.IO
Imports System.Drawing
Imports GrapeCity.Documents.Pdf
Imports GrapeCity.Documents.Pdf.AcroForms
Imports GrapeCity.Documents.Pdf.Graphics
Imports GrapeCity.Documents.Drawing
Imports GrapeCity.Documents.Text

'' 此示例演示如何将现有 PDF 中的所有文本转换为字形轮廓。
'' 生成的 PDF 看起来与原始 PDF 完全相同,但其中的所有字形
'' 将被渲染为图形路径。这可以用来操纵路径,
'' 或者确保无法复制或搜索文本。
'' 请注意,生成的文档将没有字体(例如,参见
'' 文档属性 | GcDocs.PdfViewer 中的字体选项卡)。
'' 本示例使用的原始PDF是由Wetlands生成的。
Public Class TextToOutlines
    Function CreatePDF(ByVal stream As Stream) As Integer
        Dim doc = New GcPdfDocument()
        Using fs = File.OpenRead(Path.Combine("Resources", "PDFs", "Wetlands.pdf"))
            '' 将源 PDF 加载到临时文档中:
            Dim srcDoc = New GcPdfDocument()
            srcDoc.Load(fs)
            '' 在新 PDF 的页面上绘制源文档的所有页面:
            For Each srcPage In srcDoc.Pages
                Dim page = doc.Pages.Add(srcPage.Size)
                '' 将 Graphics.DrawTextAsPath 设置为 true 会使所有字形绘制为图形路径
                '' 而不是使用字体渲染文本:
                page.Graphics.DrawTextAsPath = True
                '' 在目标上绘制源页面:
                srcPage.Draw(page.Graphics, srcPage.Bounds)
            Next
            '' 完毕:
            doc.Save(stream)
            Return doc.Pages.Count
        End Using
    End Function
End Class