# Criando e Carregando Documentos PDF

A classe `Zend_Pdf` representa os documentos PDF e provê funcionalidades para manipulação do documento.

Para criar um novo documento, um novo objeto `Zend_Pdf` deve ser instanciado primeiro.

A classe `Zend_Pdf` também provê dois métodos estáticos para carregar um documento PDF existente. Os métodos são `Zend_Pdf::load()` e `Zend_Pdf::parse()`. Ambos retornam objetos `Zend_Pdf` como resultado, ou uma exceção se algum erro ocorrer.

## Criar um novo documento PDF ou carregar um já existente

    ...
    // Cria um novo documento PDF
    $pdf1 = new Zend_Pdf();

    // Carrega um documento PDF a partir de um arquivo
    $pdf2 = Zend_Pdf::load($fileName);

    // Carrega um documento PDF a partir de uma string
    $pdf3 = Zend_Pdf::parse($pdfString);
    ...

O formato de arquivo PDF suporta a atualização incremental do documento. Dessa forma, toda vez que um documento é atualizado, uma nova revisão do documento é criada. O componente `Zend_Pdf` suporta a recuperação de uma revisão especificada.

Uma revisão pode ser especificada como o segundo parâmetro para os métodos `Zend_Pdf::load()` e `Zend_Pdf::parse()` ou solicitada chamando o método `Zend_Pdf::rollback()`.

O método `Zend_Pdf::rollback()` deve ser chamado antes que qualquer mudança seja aplicada ao documento, caso contrário o comportamento do método não é definido.

## Solicitando Revisões Específicas de um Documento PDF

    ...
    // Carrega a revisão anterior do documento PDF
    $pdf1 = Zend_Pdf::load($fileName, 1);

    // Carrega a revisão anterior do documento PDF
    $pdf2 = Zend_Pdf::parse($pdfString, 1);

    // Carrega a primeira revisão do documento PDF
    $pdf3 = Zend_Pdf::load($fileName);
    $revisions = $pdf3->revisions();
    $pdf3->rollback($revisions - 1);
    ...