FlattenForm.vb
- ''
- '' This code is part of Document Solutions for PDF demos.
- '' Copyright (c) MESCIUS inc. All rights reserved.
- ''
- 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
-
- '' This sample shows how to easily 'flatten' an AcroForm PDF with data -
- '' i.e. convert that form into a non-form PDF that looks Like the
- '' original filled form.
- '' The original filled form loaded by this sample Is generated by FormFields.
- Public Class FlattenForm
- Function CreatePDF(ByVal stream As Stream) As Integer
- Dim doc = New GcPdfDocument()
- Using fs = File.OpenRead(Path.Combine("Resources", "PDFs", "form-fields.pdf"))
- '' Load the filled PDF form into a temp document:
- Dim srcDoc = New GcPdfDocument()
- srcDoc.Load(fs)
- '' Draw all pages And annotation of the source PDF into the New one:
- For Each srcPage In srcDoc.Pages
- Dim page = doc.Pages.Add()
- Dim fxo = New FormXObject(doc, srcPage)
- page.Graphics.DrawForm(fxo, page.Bounds, Nothing, ImageAlign.Default)
- '' This method draws all annotations on the page including form field widgets:
- srcPage.DrawAnnotations(page.Graphics, page.Bounds)
- Next
- '' Done:
- doc.Save(stream)
- Return doc.Pages.Count
- End Using
- End Function
- End Class
-