1. Товары
  2.   PDF
  3.   C++
  4.   Aspose.PDF for C++

Aspose.PDF for C++

 
 

Создавайте, редактируйте и конвертируйте PDF-файлы через C++ API

C++ API для работы с PDF-файлами позволяет Software Professional создавать, изменять, объединять/разделять, извлекать и конвертировать PDF-файлы..

Aspose.PDF для C++ — это очень мощная библиотека C++ для обработки PDF-документов, которая позволяет разработчикам программного обеспечения создавать и манипулировать PDF-документы без использования Adobe Acrobat или каких-либо сторонних приложений. Библиотека очень проста в использовании и позволяет легко реализовать богатые возможности по созданию PDF-файлов с нуля. Библиотеку можно использовать для создания любого типа 32-битных и 64-битных приложений C++, и она может одинаково хорошо работать как на сервере, так и на стороне клиента.

Aspose.PDF для C++ включает в себя широкий спектр функций для создания, редактирования, анализа, манипулирования и преобразования PDF-документов, таких как создание PDF-форм и управление полями форм, вставка или замена изображений в PDFS, добавление текста в PDF. , Обработка пользовательских шрифтов, Настройка полей страницы, управление размером страницы, установка типа перехода PDF, добавление и изменение вложений и аннотаций, вставка водяных знаков в PDF, добавление и управление закладками, разделение PDF-документов, объединение PDF-файлов, вставка новых страниц, Преобразование страниц в изображение , устанавливать метаданные PDF-документов и многое другое.

Aspose.PDF для C++ также поддерживает широкий спектр функций безопасности, таких как защита паролем и цифровые подписи, которые можно использовать для защиты конфиденциальной информации в PDF-документе. Библиотека также предоставляет широкий спектр возможностей для оптимизации и сжатия PDF-файлов, что может помочь уменьшить размер их файлов и сделать их более удобными для совместного использования. Кроме того, библиотека полностью поддерживает широкий спектр параметров форматирования, таких как шрифт, цвет и выравнивание, что позволяет разработчикам создавать документы профессионального вида. В целом, Aspose.PDF для C++ — одна из лучших библиотек для работы с PDF-документами в приложениях C++.

Previous Next

Начало работы с Aspose.PDF для C++

Рекомендуемый способ установки Aspose.PDF для C++ — использование NuGet. Пожалуйста, используйте следующую команду для плавной установки.

Установить Aspose.PDF для C++ через NuGet

NuGet\Install-Package Aspose.PDF -prerelease 

Вы также можете загрузить его непосредственно с страницы продукта Aspose PDF.

Создание и редактирование PDF-файлов с помощью C++ API

Aspose.PDF для C++ включает полную поддержку создания, чтения и изменения PDF-документов внутри приложений C++ без необходимости установки какого-либо другого программного обеспечения на компьютере пользователя. Библиотека предлагает простые и интуитивно понятные методы создания PDF-файлов, которые позволяют разработчикам легко добавлять и удалять страницы, добавлять текст, изображения и другие элементы в новый документ. Библиотека также предоставляет различные методы открытия существующих PDF-документов, например открытие документов путем указания имени файла, открытие документа из потока, открытие зашифрованного документа, открытие документа из буфера памяти и т. д.

создание PDF-файлов через C++ API

 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);
}

Как защитить PDF-файлы с помощью C++ API?

Aspose.PDF для C++ предоставляет различные важные функции для защиты PDF-документов внутри приложений C++. Он поддерживает защиту конфиденциальной информации внутри PDF-файлов путем применения паролей, а также использования цифровых подписей. Также можно изменить пароль существующего PDF-файла, а также определить, защищен ли исходный PDF-файл паролем. Библиотека также позволяет шифровать и расшифровывать PDF-документы с помощью всего пары строк кода. Вы можете установить такие привилегии, как запретить пользователям изменять содержимое документа, извлекать изображение или текст из файла PDF, разрешать только чтение с экрана и т. д.

Как установить права доступа к PDF-файлу через C++ API

 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");
}

Преобразование PDF-документов через C++ API

Aspose.PDF for C++ позволяет разработчикам программного обеспечения легко конвертировать PDF-документы в несколько других поддерживаемых форматов файлов в своих собственных приложениях C++. В библиотеке реализована поддержка преобразования PDF-файлов в различные популярные форматы, а также преобразования из других форматов в PDF. Вы можете конвертировать PDF в документы Word, презентации PowerPoint, Microsoft Excel (XLSX, ODS, CSV и SpreadSheetML), EPUB, XPS, Postscript, текст, PDF/A и многие другие форматы файлов. Библиотека также включает в себя мощную поддержку преобразования изображений в PDF, а также преобразования страниц PDF в изображения в форматах JPEG, PNG и других.

Преобразование PDF в XLS на 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;
}

Оптимизация PDF-документов с помощью C++ API

API Aspose.PDF для C++ обеспечивает полную поддержку оптимизации PDF-документов внутри приложений C++. Оптимизация PDF в основном заключается в уменьшении размера PDF-файлов для повышения скорости их загрузки. Библиотека использует различные методы оптимизации документов, такие как сжатие страниц или всех изображений, повторное использование содержимого страницы, объединение повторяющихся потоков, извлечение шрифтов, удаление неиспользуемых объектов и полей формы, удаление аннотаций и т. д. Более того, он также поддерживает оптимизацию содержимого вашего PDF-документа для лучшего рейтинга в поисковых системах.

Как сжать изображения в PDF с помощью 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);
}
 Русский