/* CHAPTER 9. Multipage facilities */

/* cpdf_impose(pdf, x, y, fit, columns, rtl, btt, center, margin, spacing,
 * linewidth) imposes a PDF. There are two modes: imposing x * y, or imposing
 * to fit a page of size x * y. This is controlled by fit. Columns imposes by
 * columns rather than rows. rtl is right-to-left, btt bottom-to-top. Center is
 * unused for now. Margin is the margin around the output, spacing the spacing
 * between imposed inputs. */
void cpdf_impose(int, double, double, int, int, int, int, int, double, double,
                 double);

/*
 * Impose a document two up. cpdf_twoUp does so by retaining the existing
 * page size, scaling pages down. cpdf_twoUpStack does so by doubling the
 * page size, to fit two pages on one.
 */
void cpdf_twoUp(int);
void cpdf_twoUpStack(int);

/*
 * cpdf_padBefore(pdf, range) adds a blank page before each page in the given
 * range.
 */
void cpdf_padBefore(int, int);

/*
 * cpdf_padAfter(pdf, range) adds a blank page after each page in the given
 * range.
 */
void cpdf_padAfter(int, int);

/* cpdf_pageEvery(pdf, n) adds a blank page after every n pages. */
void cpdf_padEvery(int, int);

/*
 * cpdf_padMultiple(pdf, n) adds pages at the end to pad the file to a
 * multiple of n pages in length.
 */
void cpdf_padMultiple(int, int);

/*
 * cpdf_padMultiple(pdf, n) adds pages at the beginning to pad the file to a
 * multiple of n pages in length.
 */
void cpdf_padMultipleBefore(int, int);

