Local booklet printing, scan splitting, material channels and workbook visibility
Impose PDF signatures or split scanned spreads, deliver raw material channel PNGs and inventory declared hidden XLSX structures.
Continuous layout does not replace signature imposition
The source task is a500-page book whose sheets must fold into bindable signatures. Continuous2-up or an isolated reordering is different: physical sheet sides and inner/outer leaves must pair. T288 supports4–64 pages per signature,in multiples of4,left/right binding,A4/Letter landscape paper,margin and gutter,with proportional centered artwork.
The checked500-page/16-slot case yields32 signatures,128 physical sheets,256 output sides and12 blanks. Source labels occur once; an independent gathered-leaf reading order recovers1–500. Both sides are viewed upright from the printed side with top edges aligned. Driver flip meanings vary by device: print one signature as a sample instead of assuming an option.
| Tool | Example | Complete handoff |
|---|---|---|
| T288 | 16-slot first sheet front16/1,back2/15,left binding | PDF + source/signature/sheet/side/position JSON/CSV |
| T289 | Four rotations+nonzeroCropBox,two halves each | PDF + output/source/region/geometry JSON/CSV |
Resolve the visible direction before splitting scans
T289 intersects MediaBox/CropBox and resolves0/90/180/270 rotation before a vertical cut. cut is a proportion of normalized visible width. Right-first changes output order; keep-first/last/both are modes of one tool. Mixed sizes use one proportion; a one-page source kept at both ends yields one whole page.
Independent rendering checks the8 halves with four rotations and CropBox[20,30,220,130],right-first0.3 cuts and whole covers. Actual500 source pages produce1000 reading pages. No automatic gutter detection,deskew,perspective correction or OCR.
- Both accept one30MiB PDF/500 source pages and80MiB complete output;500 is scoped to these two IDs,without changing older300-page limits.
- Retain page vector/image artwork; reject signatures/encryption,annotations/interactive forms,scripts/active actions,optional layers,page-level transparency Group,non1 UserUnit/nonquarterturn rotations/bad page trees/edges>14,400pt.
- Original bookmarks,metadata and interactive structures are not preserved. Clipping controls visible pages; cropped-out source data may remain in the file. This is not forensic removal.
- Progress follows real page processing; cancellation discards output. Correct parameters/source and rerun the full job.
- Drawing instructions total80MiB including stream separators; plain/Flate/ASCII85/ASCIIHex/RunLength page-content streams only. Reject other instruction filters and predictor/unknown decode parameters. Encoded image resources are retained and shared without image transcoding.
Choose the actual deliverable
A material engine reads separate channels at the same pixel; a workbook reviewer reads declared hidden states. Both need explicit structures rather than guesses from browser appearance. Keep originals and download complete artifacts and reports.
| Tool | Decision | Deliverable |
|---|---|---|
| T290 | R/G/B/A file:channel or constant; pack/unpack | Real PNG + complete map JSON/CSV |
| T291 | Read declared visibility | Complete names,IDs,parts,hidden ranges JSON/CSV |
Channel packing keeps spatial coordinates
Supply at most4 equal-size PNGs. Set target R to1:R,G to2:G,B to3:B,A to4:A, or use an integer0–255 constant. An RGB source supplies implicit alpha255. Unpack accepts one PNG and writes selected/all channels as grayscale RGB with alpha255. Pack and unpack are two modes of the same material handoff.
The checked four3×2 PNGs preserve every stored channel, including nonzero RGB beneath alpha0. Actual four2048² capacity supplies64MiB decoded RGBA; independent Pillow compares complete output without color conversion or premultiplication. Browser color management and alpha display affect preview only; an invisible region does not imply lost RGB.
- 10MiB each/32MiB encoded total;4,194,304 pixels each;64MiB decoded RGBA and100MiB complete output.
- Only8-bit RGB/RGBA non-interlaced static PNG, with CRC/IDAT/filter checks. Indexed,16-bit,animated,color/gamma/EXIF metadata fails; allowed text/physical/time metadata is dropped.
- No automatic size matching,sRGB conversion,float or UDIM claim.
Workbook inventory resolves actual relationships
The example has =Public,Hidden,Internal with visible,hidden,veryHidden states. =Public hides rows7–8/12 and columnsB–D/G. Collapsed-only rows/columns and zero sizes are not guessed to mean hidden. CSV prefixes potentially executable spreadsheet values with an apostrophe; JSON retains original names.
Only explicit row.hidden/col.hidden and sheet.state count; missing declarations mean visible. To avoid misreading default-hidden rows or column precedence, this version rejects sheetFormatPr zeroHeight=true and any overlapping column ranges, including visible overlaps. The whole workbook fails; a partial inventory cannot support the decision.
| Declaration | Interpretation |
|---|---|
| sheet.state=veryHidden | Retain name/ID/part; do not unhide |
| row.hidden=true/1 | 1-based hidden rows, contiguous rows compressed |
| col.hidden=true/1 | 1-based hidden ranges, contiguous ranges merged |
| collapsed/height/width | Not automatically equal to hidden |
Capacity and cancellation preserve completeness
The actual1,000-sheet/100,000-row/100,000-column-definition capacity yields a complete3,000-row inventory, independently checked through openpyxl and raw XML. The UI previews the first200 rows; JSON/CSV includes every reported range. Input30MiB; ZIP80MiB expanded/10,000 entries/ratio200; XML20MiB total/1m nodes,200k each/depth128; complete reports10MiB.
Both tools report real processing progress and discard cancelled output; correct inputs and retry. Macros,signatures,encryption,external/escaping/missing/duplicate worksheet targets,duplicate names/IDs,bad booleans/bounds fail. Formulas never execute. The visibility inventory does not certify absence of sensitive cells,comments,media or other objects.
References
- User task: folding a500-page book into signatures
Body read2026-10-07; the task is not ordinary continuous2-up.
- User task: splitting course double-page scans in one pass
Body read2026-10-07; explicit crop proportion and visible direction,no automatic OCR.
- User task: packing material data into channels
Body read2026-10-07; the source task combines channels, not spatial image regions.
- User task: listing hidden material worksheets and summary rows
Body read2026-10-07; inventory declared states before changing or removing them.
Tools in this category
Expand a tool to see its steps, options and supported formats, then open its workspace.
PDF signature booklet impositionImpose continuous reading pages into foldable signatures with complete physical-sheet,side and source-page mappings.
Choose signature size,left/right binding,A4/Letter landscape paper,margin and gutter. Each flat side is viewed upright from its printed side with top edges aligned. Pad the final signature to its full selected slot count with explicit blanks. Check duplex flip settings on your printer with a small sample; driver behavior is not inferred.
Steps
- Choose the PDF and signature/binding settings.
- Review paired sides and padding; print one signature as a sample.
- Download complete booklet PDF and sheet JSON/CSV.
Available options
- Pages per signature: multiple of4
- 16
- Binding
- Left binding · Right binding
- Landscape paper
- A4 · Letter
- Margin each edge mm
- 10
- Gutter mm
- 4
Capabilities and limits
- One30MiB PDF with at most500 pages; complete outputs80MiB. This500-page limit does not change other PDF tools.
- Keep visible CropBox and quarterturn-rotated page vector/image artwork. Reject encryption/signatures,annotations/interactive forms,active actions/scripts,optional layers,page-level transparency Group,non1 UserUnit,bad page trees,edges>14,400pt or nonquarterturn rotations. Original metadata/bookmarks/forms are not preserved. This is not forensic removal; cropped-out source content may remain in the output.
- 4–64 pages per signature,in multiples of4; printable slot area must be positive. Uniformly scale and center each source page into its slot; no guessed spine thickness or creep.
- Drawing instructions total80MiB including stream separators; plain/Flate/ASCII85/ASCIIHex/RunLength page-content streams only. Reject other instruction filters and predictor/unknown decode parameters. Encoded image resources are retained and shared without image transcoding.
Split scanned spreads into reading pagesSplit each scanned spread into real reading pages at an explicit vertical proportion after visible crop and rotation.
The cut is a proportion of the visible,rotated page width. Choose left-first/right-first and optionally keep the first/last source whole. Mixed page sizes use the same proportion; no automatic gutter detection,perspective correction,OCR or deskew.
Steps
- Select a scanned-spread PDF.
- Set cut ratio,reading order and whole-cover policy.
- Review complete source mapping and download PDF/JSON/CSV.
Available options
- Left-region width ratio: greater than0,less than1
- 0.5
- Reading order
- Left first · Right first
- Keep whole pages
- None · First source · Last source · First and last
Capabilities and limits
- One30MiB PDF with at most500 pages; complete outputs80MiB. This500-page limit does not change other PDF tools.
- Keep visible CropBox and quarterturn-rotated page vector/image artwork. Reject encryption/signatures,annotations/interactive forms,active actions/scripts,optional layers,page-level transparency Group,non1 UserUnit,bad page trees,edges>14,400pt or nonquarterturn rotations. Original metadata/bookmarks/forms are not preserved. This is not forensic removal; cropped-out source content may remain in the output.
- At most500 source pages/1000 reading pages; finite cut0<cut<1. Keeping both with a one-page source yields one whole page.
- Drawing instructions total80MiB including stream separators; plain/Flate/ASCII85/ASCIIHex/RunLength page-content streams only. Reject other instruction filters and predictor/unknown decode parameters. Encoded image resources are retained and shared without image transcoding.
Material texture channel pack and unpackCombine explicitly selected raw PNG channels into material data textures, or unpack grayscale channels, retaining RGB beneath transparency.
Choose equal-size static RGB/RGBA PNGs. Enter a supplied file index and channel such as1:R, or an integer0–255, for each target R/G/B/A. Unpack takes exactly one PNG and writes grayscale RGB with alpha255. Browser preview color and transparency are visual only; stored bytes define the deliverable.
Steps
- Select1–4 equal-size PNGs.
- Set channel mappings or select single-image unpack.
- Review preview and complete mapping; download real PNGs and JSON/CSV.
Available options
- Operation
- Pack · Unpack
- Target R: file index:channel or constant0–255
- 1:R
- Target G: file index:channel or constant0–255
- 1:G
- Target B: file index:channel or constant0–255
- 1:B
- Target A: file index:channel or constant0–255
- 255
- Channels to unpack
- All · R · G · B · A
Capabilities and limits
- At most4 files,10MiB each/32MiB combined;4,194,304 pixels each,64MiB total decoded RGBA; complete outputs100MiB.
- Only8-bit RGB/RGBA non-interlaced static PNG; validate IDAT, CRC and filters. Reject indexed,16-bit,animation,color profiles/gamma/EXIF. No resize,color conversion or premultiplication. Allowed text/physical/time metadata is dropped; no float or UDIM support.
Hidden worksheet and row/column inventoryInventory declared hidden/veryHidden worksheets and explicitly hidden row/column ranges in a local XLSX without modifying it.
Read actual workbook relationships and worksheet XML, then download complete names, IDs, part paths and1-based ranges. Missing state means visible; collapsed or zero size is not guessed to mean hidden. This version atomically rejects default zeroHeight=true rows and any overlapping column declarations.
Steps
- Select a local XLSX.
- Review hidden worksheets and compressed row/column ranges.
- Download full JSON/CSV; the original stays unchanged.
Capabilities and limits
- One30MiB XLSX; ZIP80MiB expanded/10,000 entries/ratio200; XML20MiB total/1m nodes,200k nodes each/depth128. At most1,000 worksheets,100k declared rows and100k column definitions; complete reports10MiB.
- Ordinary unsigned/nonmacro/unencrypted XLSX with transitional OOXML. Reject external/escaping/missing/duplicate worksheet targets, duplicate names/IDs, bad booleans and bounds. No formula execution,decryption,password changes or claim to find all sensitive content.