### Constructor

# Vips Image pdfload_buffer

#### Declaration [src]

    int
    vips_pdfload_buffer (
      void* buf,
      size_t len,
      VipsImage** out,
      ...
    )

#### Description [src]

Read a PDF-formatted memory buffer into a VIPS image. Exactly as `vips_pdfload()`, but read from memory.

You must not free the buffer while `out` is active. The `VipsObject::postclose` signal on `out` is a good place to free.

Optional arguments

- `page`: `gint`, load this page, numbered from zero
- `n`: `gint`, load this many pages
- `dpi`: `gdouble`, render at this DPI
- `scale`: `gdouble`, scale render by this factor
- `background`: `VipsArrayDouble`, background colour
- `page_box`: `VipsForeignPdfPageBox`, use this page box (pdfium only)

See also

`vips_pdfload()`.

This constructor is not directly available to language bindings.

#### Parameters

`buf`

  Type: An array of `guint8`

  Memory area to load.

  The length of the array is specified in the `len` argument.
  The data is owned by the caller of the function.

`len`

  Type: `size_t`

  Size of memory area.

`out`

  Type: `VipsImage`

  Image to write.

  The argument will be set by the function.
  The caller of the function takes ownership of the returned data, and is responsible for freeing it.

`...`

  Type: ``

  `NULL`-terminated list of optional named arguments.

#### Return value

Type: `int`

0 on success, -1 on error.