Class PdfManager

Informação

Representa o componente Documentize.PdfManager. Usado para Mesclar, Dividir, Otimizar, Rotacionar, Redimensionar, Compactar documentos PDF e Adicionar Tabela, Adicionar Sumário aos documentos PDF. Pode Mesclar vários documentos PDF em um único PDF. Pode Dividir documentos PDF em páginas separadas. Pode Otimizar, Rotacionar, Redimensionar, Compactar documentos PDF. Pode Rotacionar, Redimensionar Páginas de um documento PDF. Pode Adicionar uma Tabela a um documento PDF. Pode Adicionar um Sumário a um documento PDF.

Representa o componente Documentize.PdfManager. Usado para Mesclar, Dividir, Otimizar, Rotacionar, Redimensionar, Compactar documentos PDF e Adicionar Tabela, Adicionar Sumário aos documentos PDF.
Pode Mesclar vários documentos PDF em um único PDF.
Pode Dividir documentos PDF em páginas separadas.
Pode Otimizar, Rotacionar, Redimensionar, Compactar documentos PDF.
Pode Rotacionar, Redimensionar Páginas de um documento PDF.
Pode Adicionar uma Tabela a um documento PDF.
Pode Adicionar um Sumário a um documento PDF.

public static class PdfManager

Herança

object ←
PdfManager

Membros Herdados

Métodos

AddTable(TableOptions)

Adiciona uma Tabela ao documento PDF.

public static ResultContainer AddTable(TableOptions options)

Parâmetros

  • options TableOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Adicionar Tabela a um arquivo PDF.

// Configura as opções da tabela
var options = new TableOptions();
options.InsertPageBefore(1)
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("Name")
            .AddCell().AddParagraph("Age")
        .AddRow()
            .AddCell().AddParagraph("Bob")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Sam")
            .AddCell().AddParagraph("20")
        .AddRow()
            .AddCell().AddParagraph("Sandy")
            .AddCell().AddParagraph("26")
        .AddRow()
            .AddCell().AddParagraph("Tom")
            .AddCell().AddParagraph("12")
        .AddRow()
            .AddCell().AddParagraph("Jim")
            .AddCell().AddParagraph("27");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_input.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_output.pdf"));
// Executa o processo
PdfManager.AddTable(options);

O exemplo demonstra como Adicionar Tabela a um arquivo PDF antes da página 2.

// Configura as opções da tabela
var options = new TableOptions();
options.InsertPageBefore(2) // Adiciona a tabela antes da página 2
   .AddTable()
        .AddRow()
            .AddCell().AddParagraph("Name")
            .AddCell().AddParagraph("Age");
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_input.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_output.pdf"));
// Executa o processo
PdfManager.AddTable(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

AddTableOfContents(TocOptions)

Adiciona um Sumário (TOC) ao documento PDF.

public static ResultContainer AddTableOfContents(TocOptions options)

Parâmetros

  • options TocOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como adicionar um Sumário a um arquivo PDF.

// Cria o objeto TocOptions para definir as instruções
var options = new TocOptions();
// Define o Título
options.Title = "My Table of Contents";
// Define os Cabeçalhos
options.Headings.Add(new TocHeading("Introduction", 2));
options.Headings.Add(new TocHeading("Chapter I", 3));
options.Headings.Add(new TocHeading("Chapter II", 4));
options.Headings.Add(new TocHeading("Chapter III", 5));
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.AddTableOfContents(options);

O exemplo demonstra como adicionar um Sumário a um PDF gerando marcadores.

// Cria o objeto TocOptions para definir as instruções
var options = new TocOptions();
// Define o Título
options.Title = "My Table of Contents";
// Gera links nos marcadores
options.GenerateBookmarks = true;
// Define os Cabeçalhos
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
options.Headings.Add(new TocHeading("Chapter I", 3, true, 1));
options.Headings.Add(new TocHeading("Chapter II", 4, true, 1));
options.Headings.Add(new TocHeading("Example A", 4, true, 2));
options.Headings.Add(new TocHeading("Example B", 4, true, 2));
options.Headings.Add(new TocHeading("Example C", 4, true, 2));
options.Headings.Add(new TocHeading("Example D", 4, true, 2));
options.Headings.Add(new TocHeading("Chapter III", 5, true, 1));
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.AddTableOfContents(options);

O exemplo demonstra como adicionar um Sumário a um PDF e salvar como stream.

// Cria o objeto TocOptions para definir as instruções
var options = new TocOptions();
// Define o Título
options.Title = "My Table of Contents";
// Define os Cabeçalhos
options.Headings.Add(new TocHeading("Introduction", 2, false, 1));
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o stream de saída 
var outputStream = new MemoryStream();
options.AddOutput(new StreamData(outputStream));
options.CloseOutputStreams = false;
// Executa o processo
PdfManager.AddTableOfContents(options);

O exemplo demonstra como personalizar o cabeçalho do Sumário.

// Cria o objeto TocOptions para definir as instruções
var heading = new TocHeading();
heading.Text = "Intro";
heading.PageNumber = 5;
heading.GenerateNumbering = true;
heading.Level = 2;
var tocOptions = new TocOptions();
tocOptions.Headings.Add(heading);
// Adiciona arquivos de entrada e saída
tocOptions.AddInput(new FileData("path_to_your_pdf_file.pdf"));
tocOptions.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Gera o Sumário com opções personalizadas
PdfManager.AddTableOfContents(tocOptions);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Compress(CompressOptions)

Compacta o documento PDF, tentando reduzir seu tamanho.

public static ResultContainer Compress(CompressOptions options)

Parâmetros

  • options CompressOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Compactar um documento PDF.

// Cria o objeto CompressOptions para definir as instruções
var options = new CompressOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.Compress(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

CreatePdfByChatGptRequestAsync(ChatGptRequestOptions)

Cria um documento PDF a partir da resposta do ChatGpt.
Usado para enviar solicitações ao ChatGPT diretamente ou adicionando fontes de arquivos PDF e salvar a resposta no destino de saída.

public static Task<resultcontainer> CreatePdfByChatGptRequestAsync(ChatGptRequestOptions options)

Parâmetros

Retorno

Task<ResultContainer>

Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como usar o ChatGpt adicionando mensagens à solicitação.

var options = new ChatGptRequestOptions();
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf")); 
options.ApiKey = "Your API key."; // Você precisa informar a chave para acessar a API.
options.MaxTokens = 1000; // Número máximo de tokens a gerar na conclusão da conversa.

// Adiciona as mensagens da solicitação.
options.Messages.Add(new Message
{
    Content = "You are a helpful assistant.",
    Role = Role.System
});
options.Messages.Add(new Message
{
    Content = "What is the biggest pizza diameter ever made?",
    Role = Role.User
});

// Processa a solicitação.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // Objeto de conclusão de chat da API ChatGPT.

O exemplo demonstra como usar o ChatGpt adicionando apenas uma mensagem à solicitação.

var options = new ChatGptRequestOptions();
options.AddOutput(new FileData("path_to_result_pdf_file.pdf")); // Adiciona o caminho do arquivo de saída.
options.ApiKey = "Your API key."; // Você precisa informar a chave para acessar a API.
options.MaxTokens = 1000; // Número máximo de tokens a gerar na conclusão da conversa.

// Adiciona a mensagem da solicitação.
// Neste caso, a mensagem do sistema com Content = "You are a helpful assistant." é adicionada por padrão.
// O papel da mensagem de consulta é "user" por padrão.
options.Query = "What is the lowest temperature recorded on the Earth?";

// Processa a solicitação.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // Objeto de conclusão de chat da API ChatGPT.

O exemplo demonstra como usar o Chat adicionando arquivo(s) como fonte(s) da mensagem.

var options = new ChatGptRequestOptions();
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));

// Adiciona a fonte de texto PDF.
// No caso de múltiplas fontes, o texto de cada documento será adicionado à coleção de mensagens da solicitação
// como uma mensagem separada com o papel "user".
options.AddInput(new FileData("TextSource.pdf"));

options.ApiKey = "Your API key."; // Você precisa informar a chave para acessar a API.
options.MaxTokens = 1000; // Número máximo de tokens a gerar na conclusão da conversa.

// Adiciona a mensagem da solicitação.
// Neste caso, a mensagem do sistema com Content = "You are a helpful assistant." é adicionada por padrão.
// O papel da mensagem de consulta é "user" por padrão.
options.Query = "How many letters in the provided text?";

// Processa a solicitação.
var result = await PdfManager.CreatePdfByChatGptRequestAsync(options);

var fileResultPath = result.ResultCollection[0].Data;
var chatCompletionObject = result.ResultCollection[1].Data as ChatCompletion; // Objeto de conclusão de chat da API ChatGPT.

Exceções

ArgumentException : Se as opções não estiverem definidas.

Merge(MergeOptions)

Mescla documentos PDF.

public static ResultContainer Merge(MergeOptions options)

Parâmetros

  • options MergeOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Mesclar dois documentos PDF.

// Cria o objeto MergeOptions para definir as instruções
var options = new MergeOptions();
// Adiciona os caminhos dos arquivos de entrada
options.AddInput(new FileData("path_to_your_pdf_file_1.pdf"));
options.AddInput(new FileData("path_to_your_pdf_file_2.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.Merge(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Optimize(OptimizeOptions)

Otimiza o documento PDF.
Lineariza o documento para:

  • abrir a primeira página o mais rápido possível;
  • exibir a próxima página ou seguir o link para a próxima página o mais rápido possível;
  • exibir a página incrementalmente à medida que os dados chegam em um canal lento (exibir primeiro os dados mais úteis);
  • permitir que interações do usuário, como seguir um link, ocorram antes que a página inteira seja recebida e exibida.
public static ResultContainer Optimize(OptimizeOptions options)

Parâmetros

  • options OptimizeOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Otimizar um documento PDF.

// Cria o objeto OptimizeOptions para definir as instruções
var options = new OptimizeOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.Optimize(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Resize(ResizeOptions)

Redimensiona as páginas de um documento PDF.

public static ResultContainer Resize(ResizeOptions options)

Parâmetros

  • options ResizeOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Redimensionar um documento PDF.

// Cria o objeto ResizeOptions para definir as instruções
var options = new ResizeOptions();
// Define o novo tamanho da página
options.PageSize = PageSize.A3;
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.Resize(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Rotate(RotateOptions)

Rotaciona as páginas de um documento PDF.

public static ResultContainer Rotate(RotateOptions options)

Parâmetros

  • options RotateOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Rotacionar um documento PDF.

// Cria o objeto RotateOptions para definir as instruções
var options = new RotateOptions();
// Define a nova rotação
options.Rotation = Rotation.On90;
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define o caminho do arquivo de saída
options.AddOutput(new FileData("path_to_result_pdf_file.pdf"));
// Executa o processo
PdfManager.Rotate(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Split(SplitOptions)

Divide o documento PDF por páginas.

public static ResultContainer Split(SplitOptions options)

Parâmetros

  • options SplitOptions: Um objeto de opções contendo as instruções para a operação.

Retorno

ResultContainer : Um objeto contendo o resultado da operação.

Exemplos

O exemplo demonstra como Dividir um documento PDF.

// Cria o objeto SplitOptions para definir as instruções
var options = new SplitOptions();
// Adiciona o caminho do arquivo de entrada
options.AddInput(new FileData("path_to_your_pdf_file.pdf"));
// Define os caminhos dos arquivos de saída
options.AddOutput(new FileData("path_to_result_pdf_file_1.pdf"));
options.AddOutput(new FileData("path_to_result_pdf_file_2.pdf"));
// Executa o processo
PdfManager.Split(options);

Exceções

ArgumentException

Se as opções não estiverem definidas.

Namespace: Documentize
Assembly: Documentize.dll

 Português