• Api Documentation
Show / Hide Table of Contents
  • pdftron
    • PDFNet
    • PDFNet.CharacterOrdering
    • PDFNet.CMSType
    • PDFNet.ConnectionErrorHandlingMode
    • PDFNet.ConnectionErrorProcDelegate
  • pdftron.Common
    • ByteRange
    • Matrix2D
    • PDFNetException
    • PDFNetException.ErrorCodes
    • ProgressMonitor
  • pdftron.Crypto
    • AlgorithmIdentifier
    • AlgorithmParams
    • DigestAlgorithm
    • DigestAlgorithm.Type
    • ObjectIdentifier
    • ObjectIdentifier.Predefined
    • RSASSAPSSParams
    • X501AttributeTypeAndValue
    • X501DistinguishedName
    • X509Certificate
    • X509Extension
  • pdftron.FDF
    • FDFDoc
    • FDFField
    • FDFFieldIterator
    • XFDFExportOptions
  • pdftron.Filters
    • ASCII85Encode
    • Filter
    • Filter.ReferencePos
    • FilterReader
    • FilterWriter
    • FlateEncode
    • MappedFile
    • MappedFile.OpenMode
    • MemoryFilter
    • StreamAdapterFilter
  • pdftron.Layout
    • ContentElement
    • ContentNode
    • ContentNodeIterator
    • FlowDocument
    • List
    • List.NumberFormat
    • ListItem
    • Paragraph
    • Paragraph.TextJustification
    • Table
    • TableCell
    • TableCell.CellAlignmentHorizontal
    • TableCell.CellAlignmentVertical
    • TableRow
    • TextRun
    • TextStyledElement
  • pdftron.PDF
    • Action
    • Action.FormActionFlag
    • Action.Type
    • ActionParameter
    • AdvancedImagingConvertOptions
    • AdvancedImagingModule
    • Annot
    • Annot.AnnotationState
    • Annot.BorderStyle
    • Annot.BorderStyle.Style
    • Annot.EventType
    • Annot.Flag
    • Annot.Type
    • Bookmark
    • CADConvertOptions
    • CADConvertOptions.LayoutSortOrder
    • CADModule
    • CancelRequestRenderThread
    • CharData
    • CharIterator
    • CMSSignatureOptions
    • ColorPt
    • ColorSpace
    • ColorSpace.Type
    • ContentReplacer
    • ConversionOptions
    • Convert
    • Convert.EPUBOutputOptions
    • Convert.ExcelOutputOptions
    • Convert.ExcelOutputOptions.SearchableImageSetting
    • Convert.FlattenFlag
    • Convert.FlattenThresholdFlag
    • Convert.HTMLOutputOptions
    • Convert.HTMLOutputOptions.ContentReflowSetting
    • Convert.HTMLOutputOptions.SearchableImageSetting
    • Convert.OutputOptionsOCR
    • Convert.OutputOptionsOCR.LanguageChoice
    • Convert.OutputOptionsOCR.PreferredOCREngine
    • Convert.PowerPointOutputOptions
    • Convert.PowerPointOutputOptions.SearchableImageSetting
    • Convert.Printer
    • Convert.Printer.Mode
    • Convert.SVGOutputOptions
    • Convert.TiffOutputOptions
    • Convert.WordOutputOptions
    • Convert.WordOutputOptions.SearchableImageSetting
    • Convert.WordOutputOptions.WordOutputFormat
    • Convert.WPFConverterOptions
    • Convert.WPFConverterOptions.DrawHeaderFooter
    • Convert.XODOutputOptions
    • Convert.XODOutputOptions.AnnotationOutputFlag
    • Convert.XPSOutputCommonOptions
    • Convert.XPSOutputOptions
    • CubicCurveBuilder
    • DataExtractionModule
    • DataExtractionModule.DataExtractionEngine
    • DataExtractionOptions
    • Date
    • Destination
    • Destination.FitType
    • DiffOptions
    • DigitalSignatureField
    • DigitalSignatureField.DocumentPermissions
    • DigitalSignatureField.FieldPermissions
    • DigitalSignatureField.SubFilterType
    • DigitalSignatureFieldIterator
    • DisallowedChange
    • DisallowedChange.Type
    • DocumentConversion
    • DocumentConversionResult
    • DownloadedType
    • Element
    • Element.Type
    • ElementBuilder
    • ElementReader
    • ElementWriter
    • ElementWriter.WriteMode
    • EmbeddedTimestampVerificationResult
    • Field
    • Field.EventType
    • Field.Flag
    • Field.TextJustification
    • Field.Type
    • FieldIterator
    • FileSpec
    • Flattener
    • Flattener.FlattenMode
    • Flattener.Threshold
    • Font
    • Font.Encoding
    • Font.StandardType1Font
    • Font.Type
    • FontCharCodeIterator
    • Function
    • Function.Type
    • GeometryCollection
    • GeometryCollectionSnappingMode
    • GSChangesIterator
    • GState
    • GState.BlendMode
    • GState.GStateAttribute
    • GState.LineCap
    • GState.LineJoin
    • GState.RenderingIntent
    • GState.TextRenderingMode
    • Highlights
    • HTML2PDF
    • HTML2PDF.Proxy
    • HTML2PDF.Proxy.Type
    • HTML2PDF.TOCSettings
    • HTML2PDF.WebPageSettings
    • HTML2PDF.WebPageSettings.ErrorHandling
    • HTTPRequestOptions
    • Image
    • Image.InputFilter
    • Image2RGB
    • KeyStrokeActionResult
    • KeyStrokeEventData
    • MergeXFDFOptions
    • OCRModule
    • OCROptions
    • OfficeToPDFOptions
    • OfficeToPDFOptions.StructureTagLevel
    • Optimizer
    • Optimizer.ImageSettings
    • Optimizer.ImageSettings.CompressionMode
    • Optimizer.ImageSettings.DownsampleMode
    • Optimizer.MonoImageSettings
    • Optimizer.MonoImageSettings.CompressionMode
    • Optimizer.MonoImageSettings.DownsampleMode
    • Optimizer.OptimizerSettings
    • Optimizer.TextSettings
    • OptionsBase
    • Page
    • Page.Box
    • Page.EventType
    • Page.Rotate
    • PageIterator
    • PageLabel
    • PageLabel.Style
    • PageSet
    • PageSet.Filter
    • PathData
    • PathData.PathSegmentType
    • PatternColor
    • PatternColor.TilingType
    • PatternColor.Type
    • PDF2HtmlReflowParagraphsModule
    • PDF2WordModule
    • PDFDC
    • PDFDCEX
    • PDFDoc
    • PDFDoc.EventType
    • PDFDoc.ExtractFlag
    • PDFDoc.InsertFlag
    • PDFDoc.SignaturesVerificationStatus
    • PDFDocInfo
    • PDFDocViewPrefs
    • PDFDocViewPrefs.PageLayout
    • PDFDocViewPrefs.PageMode
    • PDFDocViewPrefs.ViewerPref
    • PDFDraw
    • PDFNetInternalTools
    • PDFNetInternalToolsLogBackend
    • PDFNetInternalToolsLogLevel
    • PDFRasterizer
    • PDFRasterizer.ColorPostProcessMode
    • PDFRasterizer.OverprintPreviewMode
    • PDFRasterizer.Type
    • PDFViewAnnotationEditPermissionDelegate
    • PDFViewCtrl
    • PDFViewCtrl.LinkInfo
    • PDFViewCtrl.PagePresentationMode
    • PDFViewCtrl.PageViewMode
    • PDFViewCtrl.PanelType
    • PDFViewCtrl.PDFViewCtrlWindowType
    • PDFViewCtrl.PDFViewFindTextAsyncDelegate
    • PDFViewCtrl.PDFViewRenderWorkerDelegate
    • PDFViewCtrl.Selection
    • PDFViewCtrl.TextSelectionMode
    • PDFViewCtrl.ToolMode
    • PDFViewCurrentPageDelegate
    • PDFViewDownloadDelegate
    • PDFViewErrorDelegate
    • PDFViewThumbAsyncDelegate
    • PDFViewWPF
    • PDFViewWPF.ActionEventArgs
    • PDFViewWPF.CurrentPageNumberChangedHandler
    • PDFViewWPF.CurrentScrollChangedHandler
    • PDFViewWPF.CurrentZoomChangedHandler
    • PDFViewWPF.FindTextFinsihedHandler
    • PDFViewWPF.LayoutChangedHandler
    • PDFViewWPF.LinkInfo
    • PDFViewWPF.OnActionEventHandler
    • PDFViewWPF.OnConversionEventHandler
    • PDFViewWPF.OnRenderFinishedEventHandler
    • PDFViewWPF.OnSetdocHandler
    • PDFViewWPF.OnThumbnailGeneratedEventHandler
    • PDFViewWPF.OverprintPreviewMode
    • PDFViewWPF.PagePresentationMode
    • PDFViewWPF.PageViewMode
    • PDFViewWPF.PDFViewWPFConversionType
    • PDFViewWPF.Selection
    • PDFViewWPF.TextSelectionMode
    • Point
    • Print
    • PrinterMode
    • PrinterMode.DuplexMode
    • PrinterMode.NUp
    • PrinterMode.NUpPageOrder
    • PrinterMode.Orientation
    • PrinterMode.OutputColor
    • PrinterMode.OutputQuality
    • PrinterMode.PaperSize
    • PrinterMode.PrintContentTypes
    • PrinterMode.ScaleType
    • PrintToPdfModule
    • PrintToPdfOptions
    • QuadPoint
    • Rect
    • RectCollection
    • Redactor
    • Redactor.Appearance
    • Redactor.Redaction
    • Reflow
    • RefreshOptions
    • Separation
    • Shading
    • Shading.Type
    • ShapedText
    • ShapedText.FailureReason
    • ShapedText.ShapingStatus
    • Stamper
    • Stamper.HorizontalAlignment
    • Stamper.SizeType
    • Stamper.TextAlignment
    • Stamper.VerticalAlignment
    • StructuredOutputModule
    • SVGConvertOptions
    • SVGParser
    • TemplateDocument
    • TemplateDocumentResult
    • TextDiffOptions
    • TextExtractor
    • TextExtractor.CharRange
    • TextExtractor.Line
    • TextExtractor.ProcessingFlags
    • TextExtractor.Style
    • TextExtractor.Word
    • TextExtractor.XMLOutputFlags
    • TextRange
    • TextSearch
    • TextSearch.ResultCode
    • TextSearch.SearchMode
    • TileInTransit
    • TimestampingConfiguration
    • TimestampingResult
    • TrustVerificationResult
    • VerificationOptions
    • VerificationOptions.CertificateTrustFlag
    • VerificationOptions.SignatureVerificationSecurityLevel
    • VerificationOptions.TimeMode
    • VerificationResult
    • VerificationResult.DigestStatus
    • VerificationResult.DocumentStatus
    • VerificationResult.ModificationPermissionsStatus
    • VerificationResult.TrustStatus
    • ViewChangeCollection
    • ViewerOptimizedOptions
    • WordToPDFOptions
  • pdftron.PDF.Annots
    • Caret
    • CheckBoxWidget
    • Circle
    • ComboBoxWidget
    • FileAttachment
    • FileAttachment.Icon
    • FreeText
    • FreeText.IntentName
    • Highlight
    • Ink
    • Line
    • Line.CapPos
    • Line.EndingStyle
    • Line.IntentType
    • Link
    • Link.HighlightingMode
    • ListBoxWidget
    • Markup
    • Markup.BorderEffect
    • Movie
    • Polygon
    • PolyLine
    • PolyLine.IntentType
    • Popup
    • PushButtonWidget
    • RadioButtonGroup
    • RadioButtonWidget
    • Redaction
    • Redaction.QuadForm
    • RubberStamp
    • RubberStamp.Icon
    • Screen
    • Screen.IconCaptionRelation
    • Screen.ScaleCondition
    • Screen.ScaleType
    • SignatureWidget
    • Sound
    • Sound.Icon
    • Square
    • Squiggly
    • StrikeOut
    • Text
    • Text.Icon
    • TextMarkup
    • TextWidget
    • Underline
    • Watermark
    • Widget
    • Widget.HighlightingMode
    • Widget.IconCaptionRelation
    • Widget.ScaleCondition
    • Widget.ScaleType
  • pdftron.PDF.Details
    • AnnotManager
    • AnnotTile
    • BlendEffect
  • pdftron.PDF.OCG
    • Config
    • Context
    • Context.OCDrawMode
    • Group
    • OCMD
    • OCMD.VisibilityPolicyType
  • pdftron.PDF.PDFA
    • PDFACompliance
    • PDFACompliance.Conformance
    • PDFACompliance.ErrorCode
    • PDFAOptions
  • pdftron.PDF.Struct
    • ContentItem
    • ContentItem.Type
    • SElement
    • STree
  • pdftron.SDF
    • CreateDelegate
    • DictIterator
    • DocSnapshot
    • NameTree
    • NameTreeIterator
    • NumberTreeIterator
    • Obj
    • Obj.ObjType
    • ObjSet
    • PDFTronCustomSecurityHandler
    • ResultSnapshot
    • SDFDoc
    • SDFDoc.SaveOptions
    • SecurityDescriptor
    • SecurityHandler
    • SecurityHandler.Permission
    • SecurityManager
    • SecurityManagerSingleton
    • SignatureHandler
    • SignatureHandlerId
    • StdSecurityHandler
    • StdSecurityHandler.AlgorithmType
    • UndoManager

Class ContentReplacer

ContentReplacer is a utility class for replacing content (text and images) in existing PDF (template) documents.

Users can replace content in a PDF page using the following operations:

  • Replace an image that exists in a target rectangle with a replacement image.
  • Replace text that exists in a target rectangle with replacement text.
  • Replace all instances of a specially marked string with replacement string.
The following code replaces an image in a target region. It also replaces the text "[NAME]" and "[JOB_TITLE]" with "John Smith" and "Software Developer" respectively. Notice the square braces ('[' and ']') on the target strings in the original PDFDoc. These square braces are not included in the actual function calls below, as they're implicitly added.
PDFDoc doc("../../TestFiles/BusinessCardTemplate.pdf");
doc.InitSecurityHandler();
ContentReplacer replacer;
Page pg = doc.GetPage(1);
Image img = Image::Create(doc, "../../TestFiles/peppers.jpg");
replacer.AddImage(page.GetMediaBox(), img.GetSDFObj());
replacer.AddString("NAME", "John Smith");
replacer.AddString("JOB_TITLE", "Software Developer");
replacer.Process(page);
Inheritance
object
ContentReplacer
Implements
IDisposable
Inherited Members
object.ToString()
object.Equals(object)
object.Equals(object, object)
object.ReferenceEquals(object, object)
object.GetHashCode()
object.GetType()
object.MemberwiseClone()
Namespace: pdftron.PDF
Assembly: PDFNet.dll
Syntax
public class ContentReplacer : IDisposable

Constructors

ContentReplacer()

Create a new ContentReplacer object, to which replacement rules will be added. The same object can be used to 'Process' multiple pages.

Declaration
public ContentReplacer()

Methods

AddImage(Rect, Obj)

Replace the image that best fits 'target_region' with 'replacement_image'.

Declaration
public void AddImage(Rect target_region, Obj replacement_image)
Parameters
Type Name Description
Rect target_region

The rectangle defining the area in which an image that best fits the rectangle will be replaced by 'replacement_image'.

Obj replacement_image

The 'SDF.Obj' of a 'PDF.Image' object.

Remarks

The best fit is the image that closest matches 'target_region'. For example if there are two images on the page, one taking up the entire page, and the other smaller, and the smaller one has similar dimensions and position of 'target_region', then the smaller image would be replaced, not the larger. Furthermore, if 'target_region' encloses multiple images, then only the image with the largest area will be replaced.

AddString(string, string)

Any text of the form "[template_text]" will be replaced by "replacement_text".

Declaration
public void AddString(string template_text, string replacement_text)
Parameters
Type Name Description
string template_text

The text to remove.

string replacement_text

The new text that will appear in place of 'template_text'.

Remarks

Only text wrapped in '[' and ']' will be checked, and if it matches 'template_text', then 'template_text' and the surrounding square braces will be replaced by 'replacement_text'. For example AddString("TITLE", "Doctor") will replace any text consisting of "[TITLE]" with "Doctor".

AddText(Rect, string)

All text inside 'target_region' will be deleted and replaced with 'replacement_text'.

Declaration
public void AddText(Rect target_region, string replacement_text)
Parameters
Type Name Description
Rect target_region

The rectangle defining the area in which all text will be replaced by 'replacement_text'.

string replacement_text

The new text that will replace the existing text in 'target_region'.

Remarks

The 'replacement_text' will be styled in the same font/color/style that is used by the original text. If there are multiple font styles, the most prevalent style will be used. Also, the 'replacement_text' will wrap within the 'target_region', but if it is too long, the overflow text will not be visible, and no surrounding content will be affected.

Dispose()

Releases all resources used by the ContentReplacer

Declaration
public override sealed void Dispose()

Dispose(bool)

Declaration
[HandleProcessCorruptedStateExceptions]
protected virtual void Dispose(bool A_0)
Parameters
Type Name Description
bool A_0

~ContentReplacer()

Declaration
protected ~ContentReplacer()

Process(Page)

Declaration
public void Process(Page page)
Parameters
Type Name Description
Page page

SetMatchStrings(string, string)

Change the delimiters from '[' and ']' to arbitary strings.

Declaration
public void SetMatchStrings(string start_str, string end_str)
Parameters
Type Name Description
string start_str

The starting delimiter string.

string end_str

The ending delimiter string.

Remarks

While empty strings are allowed as delimiters, a warning is displayed. Otherwise there are no restrictions. For example, after SetMatchStrings("{{", "}}"), AddString("TITLE", "Doctor") will replace any text consisting of "{{TITLE}}" with "Doctor". Similarly, after SetMatchStrings("Beginning...", "...ending."), AddString("TITLE", "Doctor") will replace "Beginning...TITLE...ending." with "Doctor".

Implements

IDisposable
In This Article
Back to top Generated by DocFX