Extract and Place Images
Pulls the images embedded in a source PDF back out as separate photos, and stamps assigned images into a form's image slots at the size and position that form defines.
Overview
Photos are the part of a document package nobody wants to do by hand. A photo addendum is a grid of slots that each need the right picture at the right size — and the pictures are almost never sitting in a folder ready to go. They are already inside another document: a prior report for the same property, a photo sheet the inspector produced, a PDF the field team emailed in. Getting them across by hand means opening the source, exporting each image, tidying up the results, and then placing them one at a time.
Two mechanical jobs sit behind that, and this page is about both. The first pulls the images embedded in a source PDF back out as separate photos, carrying the bytes they were stored as rather than a screenshot of the page they sat on. The second draws an image onto the finished package, inside the slot it belongs to, at the size and position that form defines. Working out which photo belongs in which slot is a third job and a separate step — see Place an Image in a Slot.
Neither half is something you ask for. Extraction happens because of what a file is, when it arrives. Stamping happens once, over the assembled package, at the end of the run. Twenty minutes of clicking becomes part of a run that was already going to happen.
What It Does
| Capability | What it means for you |
|---|---|
| Pulls embedded photos out | Images stored inside a source PDF come out as separate files carrying the bytes they were stored as — nothing is re-rendered to get them out |
| Everything embedded, page by page | Each page's embedded images are returned in turn. Nothing is filtered out; an image that cannot be decoded is skipped |
| The form decides the geometry | An image lands on the page, at the position and size the form's slot defines. Nothing about the picture itself moves it |
| Fitted, not stretched | An image is scaled to sit inside its slot with its proportions intact, unless that slot is defined to fill its frame |
| One pass over the assembled package | Every image assigned anywhere in the package is stamped in a single pass, after the sections have been put together |
| Reports how many landed | You get back the number of images stamped, plus the first few failures if there were any |
When This Runs
Nothing chooses either half. Both are steps in a run, and neither takes a setting.
Extraction fires on what a file is. A listing PDF is unpacked into one photo per embedded image as soon as it is uploaded. A prior filled package's subject-photo page is unpacked when that package is split into its constituent forms. Either way, what comes out is a set of ordinary image files that the rest of the run treats exactly like a photo somebody uploaded — which is why a loose photo file never enters extraction at all. There is nothing to pull it out of.
Photo-addendum pages take a different route. Rather than separating the photographs printed on them, a fixed region of each page is re-rendered as a single picture and carried across whole.
Stamping runs at the end. The sections are assembled into the finished package first, and every image assignment recorded against those sections is then stamped onto the assembled file in one pass. Nothing is drawn on any page before that point, so an assignment made early in a run is a statement of intent until the package is finalized.
Inputs and Outputs
Takes: for extraction, one source PDF. For stamping, the assembled package and the image assignments already recorded against it.
Returns: extraction returns one file per embedded image. Stamping returns the number of images placed, plus the first few failures if any occurred.
The source document is never written to. Extraction reads from it; nothing is removed.
Example
A prior appraisal for the same property is uploaded with this run's inputs, and it is split into its constituent forms. Its subject-photo page carries three photographs.
Those three come out as three separate image files, in the order they sit on the page, each named for the position it is destined for — first to first, second to second. Nothing looks at the pictures; the pairing is positional. Had the page carried a fourth photograph, there would have been nowhere to put it and no mention of it anywhere.
Later, once every section has been assembled into the finished PDF, each photo is stamped into its slot: on the page that slot names, at the size and position it defines, scaled to fit inside it rather than stretched to fill it. A wide shot going into a squarer slot sits inside the frame with space either side.
The run reports three images stamped. What the appraiser checks is that front, rear and street are the way round the form expects — because nothing in the pipeline read the photographs to confirm it.
Limits
- Nothing looks at the picture. Which image goes where is decided by the slot it was assigned to, never by what is in it. A front elevation and a rear elevation are interchangeable as far as this is concerned, so somebody should confirm they are the way round the form expects. This is the single most important thing to know.
- Everything embedded comes out, not just the photographs. A logo, a divider rule, a north arrow and a scale bar are embedded images too, and they come out alongside the real photos. Nothing is filtered — not by size, not by anything else — and a graphic repeated on several pages comes out once per page.
- Extra photos are dropped without a word. Where extracted photos are paired with a page's positions by order, the pairing stops at whichever list runs out first. Photos past the last position are neither placed nor reported.
- An empty slot is silent. The run reports how many images were stamped, not which slots were left unfilled. A slot nobody assigned anything to simply stays empty.
- A recorded caption is never drawn. A label can be recorded against an image, and a slot can carry a default label of its own. Neither is ever put on the page — the only thing this step draws is the picture.
- Fitting is not cropping. An image whose proportions differ from its slot sits inside the slot with space on two sides rather than filling the frame edge to edge. Where uniform framing matters, images need cropping first — see Crop and Normalize Images.
- Resolution is inherited, but the copy is not identical. A low-resolution image in the source is a low-resolution image in the output, and enlarging it to fill a slot makes it larger rather than sharper. The placed copy is also re-compressed on its way onto the page, so it is not byte-for-byte what came out of the source.
- Rotation recorded in the image is applied. Where a photo carries its own orientation marker, that rotation is honoured before it is placed. A photo that is sideways without such a marker is placed sideways — nothing looks at a picture and decides it is the wrong way up.
- Sometimes the unit is the page, not the photo. A page scanned as one image is one embedded image, so the photographs printed on it are not separate objects and there is nothing individual to pull out. Photo-addendum pages are treated the same way by design: a fixed region of each is re-rendered as a single picture rather than separated, so the grid crosses over as one image.
- A PDF assigned to a slot becomes a picture. A scanned exhibit put into a slot is re-rendered as an image of one of its pages, so text on that exhibit is no longer text in the deliverable — while the forms around it keep theirs. Where the page itself is the unit you want, Rasterize Pages is the related tool.
- If the stamping pass fails, the package ships without images. The assembled file is returned unstamped and the run still completes, so a deliverable that should have carried photographs can arrive with none.
FAQ
Can it pull photos out of a prior report and put them into a new one?
For the photo pages the pipeline knows how to unpack, yes. The images embedded in a prior report's subject-photo page come out as separate files carrying the bytes they were stored as, and are stamped into the new package's slots when it is assembled — no exporting, screenshotting or re-uploading in between. A photo-addendum grid is a different case: it is carried across as one picture of the page region rather than as individual photographs.
Does it know which photo belongs in which slot?
No. Nothing reads the photographs. An image lands in whichever slot it was assigned to, and where photos are pulled off a page they are paired with positions by order — first to first. If your addendum distinguishes front, rear, street and interior views, someone should confirm they are the way round the form expects. Slot-based placement is predictable and auditable; guessing at photo content would not be.
What happens if there are more photos than slots?
The pairing stops at whichever list runs out first, and the extra photos are dropped without being reported. The reverse case is quiet too: a slot with nothing assigned to it stays empty, and the run reports how many images were stamped rather than which slots were missed.
Will my photos be cropped or squashed to fit the slot?
Neither. Each image is scaled to fit inside its slot with its aspect ratio intact, so a wide photo in a squarer slot sits within the frame rather than being stretched — unless that slot is defined to fill its frame. If you want images filling their frames edge to edge, they need to be cropped to the slot's proportions first.
Can it extract photos from a scanned document?
Only if the photos are stored as separate images inside it. A page scanned as a whole is one image, so what comes out is the page, not the photographs printed on it. Assigning that page to a slot works, though: a PDF put into a slot is re-rendered as a picture of the page and placed whole, which is usually what an exhibit needs.
What if I just have the photos as separate files?
Then there is nothing to extract — a loose image file is already in the shape the stamping step wants. Assigning it to a slot is a separate step, covered by Place an Image in a Slot. Extraction exists for images that are trapped inside another document and would otherwise have to be exported by hand first.