I think this is what you're suggesting, in terms of declaring and loading images (see below).
Still kinda curious, though, whether there's any way to generate a pdf in a sketch with copy(). That still seems to be the hangup. Maybe this is just a limitation in processing.pdf.
~
import processing.pdf.*;
PImage myImage;
PImage myImage2;
void setup() {
size (800, 800);
smooth();
myImage = loadImage ("Picture1.jpg");
myImage2 = loadImage ("Picture2.jpg");
beginRecord (PDF, "filename.pdf");
}
void draw() {
image (myImage2, 0, 0);
int w = int(random(width));
for (int i = 0; i < 300; i++) {
int x = int(random(50,100));
int y = int(random(height));
copy (myImage, w, y, x, x, int(random(-200,1200)), y, x, x);
endRecord();
}
noLoop();
}