Skip to main content

TransformPdfNodeConfiguration

Namespace: Meshmakers.Octo.MeshAdapter.Nodes.Transform

Configuration for TransformPdf@1. Assembles an output PDF from an ordered list of page operations (TransformPdfNodeConfiguration.OpsPath) over one or more source PDFs (an array of base64 strings at ). Each op selects a page from a source and optionally rotates and/or crops it; the op order defines the output page order, and pages not referenced by any op are dropped. This single contract covers rotate, crop, reorder, delete, split-select and merge (across sources) — the document page editor's server side (AB#4760).

public record TransformPdfNodeConfiguration : SourceTargetPathNodeConfiguration, INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IEquatable<TransformPdfNodeConfiguration>

Inheritance Object → NodeConfiguration → TargetPathNodeConfiguration → SourceTargetPathNodeConfiguration → TransformPdfNodeConfiguration
Implements INodeConfiguration, IEquatable<NodeConfiguration>, ITargetPathNodeConfiguration, IEquatable<TargetPathNodeConfiguration>, IPathNodeConfiguration, IEquatable<SourceTargetPathNodeConfiguration>, IEquatable<TransformPdfNodeConfiguration>

Remarks:

The op shape read from TransformPdfNodeConfiguration.OpsPath is an array of { sourceIndex:int, pageIndex:int, rotate?:0|90|180|270, crop?:{ x, y, width, height } }:

sourceIndex — 0-based index into the base64 source array at Path.

pageIndex — 0-based page within that source.

rotate — clockwise degrees ADDED on top of the page's existing rotation.

crop — a rectangle normalized to [0,1], top-left origin, expressed in the page's FINAL displayed orientation (i.e. after the page's existing rotation plus rotate) — the same orientation the editor renders. Omitted / zero-size = no crop.

Properties

OpsPath

JSONPath of the ordered page-operation array. Each element selects a page from a source PDF (by sourceIndex/pageIndex) and optionally rotates/crops it. The op order is the output page order.

public string OpsPath { get; set; }

Property Value

String

FailOnInvalidPdf

When true, a source PDF that cannot be imported (encrypted, corrupt or an unsupported version) aborts the node as soon as an op references it. When false (default) ops referencing an unreadable source are skipped with a warning and the remaining pages are still assembled.

public bool FailOnInvalidPdf { get; set; }

Property Value

Boolean

ContentLengthTargetPath

Optional path to write the produced PDF's byte length to (as a long), for feeding a following CreateFileSystemUpdate@1.

public string ContentLengthTargetPath { get; set; }

Property Value

String

OutputAsScratchFile

When true, the produced PDF is written to the per-execution scratch space and receives a small ScratchFileReference (scratchFileToken + length) instead of a base64 string — keeping large PDFs off the JSON data context / LOH, exactly like MergePdf@1. Falls back to base64 when no scratch space is available. Default false.

public bool OutputAsScratchFile { get; set; }

Property Value

Boolean

Path

public string Path { get; set; }

Property Value

String

TargetPath

public string TargetPath { get; set; }

Property Value

String

TargetValueWriteMode

public TargetValueWriteModes TargetValueWriteMode { get; set; }

Property Value

TargetValueWriteModes

TargetValueKind

public ValueKinds TargetValueKind { get; set; }

Property Value

ValueKinds

DocumentMode

public DocumentModes DocumentMode { get; set; }

Property Value

DocumentModes

Description

public string Description { get; set; }

Property Value

String

Constructors

TransformPdfNodeConfiguration()

public TransformPdfNodeConfiguration()