This reference is for Processing 3.0+. If you have a previous version, use the reference included with your software in the Help menu. If you see any errors or have suggestions, please let us know. If you prefer a more technical reference, visit the Processing Core Javadoc and Libraries Javadoc.



import processing.pdf.*;

void setup() {
  size(400, 400);
  beginRecord(PDF, "everything.pdf");

void draw() {
  ellipse(mouseX, mouseY, 10, 10);

void mousePressed() {
Description Opens a new file and all subsequent drawing functions are echoed to this file as well as the display window. The beginRecord() function requires two parameters, the first is the renderer and the second is the file name. This function is always used with endRecord() to stop the recording process and close the file.

Note that beginRecord() will only pick up any settings that happen after it has been called. For instance, if you call textFont() before beginRecord(), then that font will not be set for the file that you're recording to.

beginRecord() works only with the PDF and SVG renderers.
beginRecord(renderer, filename)
renderer String: PDF or SVG
filename String: filename for output
ReturnsPGraphics or void
Updated on January 1, 2021 03:38:07am EST