1. Produtos
  2.   PDF
  3.   C++
  4.   Aspose.PDF for C++

Aspose.PDF for C++

 
 

Crie, edite e converta arquivos PDF via API C++

API C++ para trabalhar com arquivos PDF, permite que o software profissional gere, modifique, mescle/divida, extraia e converta arquivos PDF.

Aspose.PDF for C++ é uma biblioteca C++ de processamento de documentos PDF muito poderosa que permite aos desenvolvedores de software gerar e manipular Documentos PDF sem usar Adobe Acrobat ou qualquer aplicativo de terceiros. A biblioteca é muito fácil de manusear e pode implementar facilmente recursos avançados para criar arquivos PDF do zero. A biblioteca pode ser usada para construir qualquer tipo de aplicativo C++ de 32 e 64 bits e pode funcionar igualmente bem no servidor e no lado do cliente.

Aspose.PDF para C++ incorporou uma ampla gama de recursos para criar, editar, analisar, manipular e converter documentos PDF, como criação de formulários PDF e gerenciamento de campos de formulário, inserção ou substituição de imagens em PDFS, adição de texto a PDF , Tratamento de fontes personalizado, Definir margem da página, gerenciar tamanho da página, definir tipo de transição de PDF, adicionar e modificar anexos e anotações, inserir marcas d'água em PDF, adicionar e gerenciar marcadores, dividir documentos PDF, mesclar PDF, inserir novas páginas, transformar páginas em imagem , definir metadados de documentos PDF e muito mais.

Aspose.PDF para C++ também oferece suporte a uma ampla variedade de recursos de segurança, como proteção por senha e assinaturas digitais, que podem ser usadas para proteger informações confidenciais em um documento PDF. A biblioteca também oferece uma ampla gama de opções para otimizar e compactar PDFs, o que pode ajudar a reduzir o tamanho dos arquivos e torná-los mais facilmente compartilháveis. Além disso, a biblioteca oferece suporte total a uma ampla gama de opções de formatação, como fonte, cor e alinhamento, o que permite aos desenvolvedores criar documentos com aparência profissional. No geral, Aspose.PDF para C++ é uma das melhores bibliotecas para trabalhar com documentos PDF em aplicativos C++.

Previous Next

Introdução ao Aspose.PDF para C++

A maneira recomendada de instalar o Aspose.PDF para C++ é usando o NuGet. Use o seguinte comando para uma instalação tranquila.

Instale Aspose.PDF para C++ via NuGet

NuGet\Install-Package Aspose.PDF -prerelease 

Você também pode baixá-lo diretamente da página do produto Aspose em PDF.

Geração e edição de arquivos PDF via API C++

Aspose.PDF para C++ inclui suporte completo para criação, leitura e modificação de documentos PDF dentro de aplicativos C++ sem a necessidade de qualquer outro software instalado na máquina do usuário. A biblioteca oferece métodos simples e intuitivos para criação de PDF, o que facilita aos desenvolvedores adicionar e remover páginas, adicionar texto, imagens e outros elementos a um novo documento. A biblioteca também fornece vários métodos para abrir documentos PDF existentes, como abrir documentos especificando um nome de arquivo, abrir um documento do fluxo, abrir um documento criptografado, abrir um documento de um buffer de memória e muito mais.

criar arquivos PDF via API C++

 void CreatePDF() {
    // String for path name.
    String _dataDir("C:\\Samples\\");

    // String for file name.
    String filename("sample-new.pdf");

    // Initialize document object
    auto document = MakeObject();
    // Add page
    auto page = document->get_Pages()->Add();

    // Add text to new page
    auto textFragment = MakeObject(u"Hello World!");
    page->get_Paragraphs()->Add(textFragment);

    // Save updated PDF
    String outputFileName = _dataDir + filename;

    document->Save(outputFileName);
}

Como proteger arquivos PDF via API C++?

Aspose.PDF para C++ fornece vários recursos importantes para proteger documentos PDF dentro de aplicativos C++. Ele suporta a proteção de informações confidenciais dentro de arquivos PDF, aplicando senhas e também usando assinaturas digitais. Também é possível alterar a senha de um PDF existente e também determinar se o PDF de origem está protegido por senha. A biblioteca também permite criptografar e descriptografar documentos PDF com apenas algumas linhas de código. Você pode definir privilégios como restringir os usuários de alterar o conteúdo de um documento, extrair imagem ou texto do arquivo PDF e permitir apenas a leitura da tela e assim por diante.

Como definir privilégios de arquivo PDF via API C++

 void SecuringAndSigning::SetPrivilegesOnExistingPDF() {
    // String for path name.
    String _dataDir("C:\\Samples\\");

    // Load a source PDF file
    auto document = MakeObject(_dataDir + u"input.pdf");

    // Instantiate Document Privileges object

    // Apply restrictions on all privileges
    auto documentPrivilege = DocumentPrivilege::get_ForbidAll();
    // Only allow screen reading
    documentPrivilege->set_AllowScreenReaders(true);

    // Encrypt the file with User and Owner password.
    // Need to set the password, so that once the user views the file with user password,

    // Only screen reading option is enabled
    document->Encrypt(u"user", u"owner", documentPrivilege, CryptoAlgorithm::AESx128, false);

    // Save updated document
    document->Save(_dataDir + u"SetPrivileges_out.pdf");
}

Conversão de documentos PDF via API C++

Aspose.PDF para C++ facilita para os desenvolvedores de software converter facilmente documentos PDF para vários outros formatos de arquivo suportados dentro de seus próprios aplicativos C++. A biblioteca oferece suporte para conversão de arquivos PDF para vários formatos populares, bem como conversão de outros formatos para PDF. Você pode converter PDF em documentos do Word, apresentações em PowerPoint, Microsoft Excel (XLSX, ODS, CSV e SpreadSheetML), EPUB, XPS, Postscript, texto, PDF/A e muitos outros formatos de arquivo. A biblioteca também inclui forte suporte à conversão de imagens em PDF, bem como à conversão de páginas PDF em imagens em JPEG, PNG e outros formatos.

Converta PDF em XLS em C++

void ConvertPDFtoExcel()
{
    std::clog << __func__ << ": Start" << std::endl;
    // String for path name
    String _dataDir("C:\\Samples\\Conversion\\");

    // String for file name
    String infilename("sample.pdf");
    String outfilename("PDFToExcel.xls");

    // Open document
    auto document = MakeObject(_dataDir + infilename);

    try {
    // Save the output in XLS format
    document->Save(_dataDir + outfilename, SaveFormat::Excel);
    }
    catch (Exception ex) {
    std::cerr << ex->get_Message();
    }
    std::clog << __func__ << ": Finish" << std::endl;
}

Otimize documentos PDF por meio da API C++

A API Aspose.PDF para C++ fornece suporte completo para otimização de documentos PDF dentro de aplicativos C++. A otimização de PDF consiste principalmente em reduzir o tamanho dos PDFs para aumentar sua velocidade de carregamento. A biblioteca está usando várias técnicas para otimização de documentos, como redução de página ou compactação de todas as imagens, reutilização de conteúdo de página, fusão de fluxos duplicados, remoção de fontes incorporadas, remoção de objetos não utilizados e campos de formulário, remoção de nivelamento de anotações e assim por diante. Além disso, também suporta a otimização do conteúdo do seu documento PDF para uma melhor classificação nos motores de busca.

Como compactar imagens em PDF via C++?

void CompressImage() {
    // String for path name
    String _dataDir("C:\\Samples\\");

    // String for input file name
    String infilename("ShrinkDocument.pdf");
    String outfilename("ShrinkDocument_out.pdf");

    // Open document
    auto document = MakeObject(_dataDir + infilename);

    // Initialize OptimizationOptions
    auto optimizationOptions = MakeObject();

    // Set CompressImages option
    optimizationOptions->get_ImageCompressionOptions()->set_CompressImages(true);
    // Set ImageQuality option
    optimizationOptions->get_ImageCompressionOptions()->set_ImageQuality(50);

    // Optimize PDF document using OptimizationOptions
    document->OptimizeResources(optimizationOptions); 
    // Save updated document
    document->Save(_dataDir + outfilename);
}
 Português