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
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
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
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
Path
public string Path { get; set; }
Property Value
TargetPath
public string TargetPath { get; set; }
Property Value
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
Constructors
TransformPdfNodeConfiguration()
public TransformPdfNodeConfiguration()