//
// This code is part of Document Solutions for PDF demos.
// Copyright (c) MESCIUS inc. All rights reserved.
//
using System.IO;
using System.Drawing;
using System.Text.RegularExpressions;
using GrapeCity.Documents.Pdf;
using GrapeCity.Documents.Pdf.Annotations;
using GrapeCity.Documents.Pdf.TextMap;
using GrapeCity.Documents.Pdf.AcroForms;
namespace DsPdfWeb.Demos
{
// This sample demonstrates the use of GcPdfDocument.Redact() method.
// It loads the PDF generated by the SlidePages sample, creates
// a redact annotation on the first page, and applies it.
public class RedactArea
{
public int CreatePDF(Stream stream)
{
var doc = new GcPdfDocument();
using (var fs = File.OpenRead(Path.Combine("Resources", "PDFs", "SlidePages.pdf")))
{
// Load the PDF containing redact annotations (areas marked for redaction):
doc.Load(fs);
var rc = new RectangleF(16, 16, 280, 300);
var redact = new RedactAnnotation()
{
Rect = rc,
Page = doc.Pages[0],
OverlayText = "This content has been redacted.",
OverlayFillColor = Color.PaleGoldenrod
};
// Apply the redact:
doc.Redact(redact);
// doc.Pages[0].Graphics.DrawRectangle(rc, Color.Red);
// Done:
doc.Save(stream);
return doc.Pages.Count;
}
}
}
}