Files
designcraft/docs/multi-image-placement.md
T
texjer 0ea2a72a09 Place: switching, opening or closing a document leaves the place cursor's tool
Review fix for #2309: set_active, add_document and close_document emptied the place cursor but
kept the placeGun tool, so the next canvas click failed with 'nothing loaded in the place
cursor'. One helper, Session::unload_place_cursor, empties the cursor and its queue and goes back
to the Selection tool when the place cursor's tool is active; validate_place_cursor uses it too.
Test: changing_documents_unloads_the_place_cursor_and_its_tool.
2026-11-04 11:05:45 -05:00

2.9 KiB

Multiple images

Choose File > Place (Cmd+D on macOS) and select several images, or drop a selection of images from your file manager onto the document. Multiple images load into a placement cursor in the order supplied by the file picker (or the drop). The cursor shows the next image's thumbnail and, beside it, how many are loaded ("(6)").

  • Click to place the next image at its natural size.
  • Drag to draw its frame: it keeps the image's proportions, and shows the scale beside the pointer.
  • Click an existing graphic frame to replace its contents.
  • While drawing, Right/Left add/remove columns and Up/Down add/remove rows. Release to place a grid in row order with 6-point gutters. Extra images remain in the cursor; unused grid cells create no empty frames.
  • Press Escape or select another tool to cancel the remaining placement.
  • Switching to, opening or closing a document also cancels it, and goes back to the Selection tool.

A single selected file retains the normal Place behavior, including filling a selected frame and PDF import options. Image batches support up to 1000 images. Rows and columns each range from 1 to 100. A batch containing an unreadable image fails without replacing the existing queue or changing the document. An invalid grid area also leaves the document and queue unchanged.

Dropping files

  • One image dropped on an empty or graphic frame fills it, or replaces the image in it.
  • One image dropped anywhere else loads into the place cursor, as File > Place does with nothing selected: the next click or drag places it.
  • Several images dropped together load into the place cursor in the order they came, wherever they are dropped.
  • Images dropped while the cursor already holds some queue after them.
  • DesignCraft, IDML and InDesign documents open; text files (.txt, .docx, .rtf, .md) and spreadsheets go into a new frame where they are dropped; a PDF is placed where it is dropped (or fills the frame under it); swatch exchange (.ase) files load their swatches.

Images here are PNG, JPEG, GIF, WebP, BMP, TIFF, SVG, PSD and EPS files.

Automation

All placement behavior is available through the engine, CLI, control channel and MCP:

{"command":"place.load","params":{"files":[{"path":"/images/one.png"},{"path":"/images/two.jpg"}]}}
{"command":"place.load","params":{"files":[{"path":"/images/three.png"}],"append":true}}
{"command":"place.grid","params":{"rect":[36,36,576,756],"columns":3,"rows":4,"gutter":6}}
{"command":"place.cancel","params":{}}

Each source can instead supply base64 and name, including on the web. append queues the images after those already loaded instead of replacing them. place.grid consumes only the images that fit. Undo removes placed frames together, while the cursor remains at its current position in the queue. The UI command app.placeDialog takes paths for a File > Place of several files without the dialog.