Delete Forms from PDF in C#
Remove Text based on subtype/form
The next code snippet creates a new Document object using an input variable that contains the path to the PDF file. The example accesses the forms presented on page 2 of the document and checks for forms with certain properties. If a form with the type “Typewriter” and subtype “Form” is found, it uses TextFragmentAbsorber to visit and remove all text fragments in this form.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void ClearTextInForm(string input, string output)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (document = new Aspose.Pdf.Document(dataDir + "TextBox.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
foreach (var form in forms)
{
// Check if the form is of type "Typewriter" and subtype "Form"
if (form.IT == "Typewriter" && form.Subtype == "Form")
{
// Create a TextFragmentAbsorber to find text fragments
var absorber = new Aspose.Pdf.Text.TextFragmentAbsorber();
absorber.Visit(form);
// Clear the text in each fragment
foreach (var fragment in absorber.TextFragments)
{
fragment.Text = "";
}
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
Remove Forms with “Typewriter” and a Subtype of “Form” from PDF
This code snippet searches the forms on the first page of a PDF document for forms with an intent (IT) of “Typewriter” and a subtype (Subtype) of “Form.” If both conditions are met, the form is deleted from the PDF. The modified document is then saved to the specified output file.
The Aspose.PDF library provides two ways to remove such forms from PDFs:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DeleteSpecifiedForm(string input, string output)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Iterate through the forms and delete the ones with type "Typewriter" and subtype "Form"
for (int i = forms.Count; i > 0; i--)
{
if (forms[i].IT == "Typewriter" && forms[i].Subtype == "Form")
{
forms.Delete(forms[i].Name);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
Method 2:
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void DeleteSpecifiedForm(string input, string output)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Iterate through the forms and delete the ones with type "Typewriter" and subtype "Form"
foreach (var form in forms)
{
if (form.IT == "Typewriter" && form.Subtype == "Form")
{
var name = forms.GetFormName(form);
forms.Delete(name);
}
}
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}
Remove all Forms from PDF
This code removes all form elements from the first page of a PDF document and then saves the modified document to the specified output path.
// For complete examples and data files, visit https://github.com/aspose-pdf/Aspose.PDF-for-.NET
private static void RemoveAllForms(string input, string output)
{
// The path to the documents directory
var dataDir = RunExamples.GetDataDir_AsposePdf_Forms();
// Open PDF document
using (var document = new Aspose.Pdf.Document(dataDir + "TextField.pdf"))
{
// Get the forms from the first page
var forms = document.Pages[1].Resources.Forms;
// Clear all forms
forms.Clear();
// Save PDF document
document.Save(dataDir + "TextBox_out.pdf");
}
}