Безопасные PDF документы с C++

Contents
[ ]

Aspose.Cells предоставляет PdfSecurityOptions для работы с безопасностью. Вы можете установить пароли владельца и пользователя при сохранении в PDF. Пароль владельца или пользователя потребуется для открытия зашифрованного PDF-документа для просмотра.

  • Пароль пользователя может быть пустым или содержать пустую строку, в этом случае от пользователя не потребуется пароль при открытии PDF-документа.
  • Открытие PDF-документа с правильным паролем владельца обеспечивает полный доступ (без указанных ограничений доступа) к документу.
  • Открытие PDF-документа с правильным паролем пользователя (или открытие документа без пароля пользователя) дает ограниченный доступ в соответствии с установленными разрешениями.

Приведенный ниже пример кода описывает, как защищать PDF с помощью Aspose.Cells.

#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
using namespace Aspose::Cells::Rendering;
using namespace Aspose::Cells::Rendering::PdfSecurity;

int main()
{
    Aspose::Cells::Startup();

    // Source directory path
    U16String srcDir(u"..\\Data\\01_SourceDirectory\\");

    // Output directory path
    U16String outDir(u"..\\Data\\02_OutputDirectory\\");

    // Path of input Excel file
    U16String inputFilePath = srcDir + u"input.xlsx";

    // Path of output PDF file
    U16String outputFilePath = outDir + u"securepdf_test.out.pdf";

    // Open an Excel file
    Workbook workbook(inputFilePath);

    // Instantiate PDFSaveOptions to manage security attributes
    PdfSaveOptions saveOption;

    // Create and configure PDF security options
    PdfSecurityOptions securityOptions;
    securityOptions.SetUserPassword(u"user");
    securityOptions.SetOwnerPassword(u"owner");
    securityOptions.SetExtractContentPermission(false);
    securityOptions.SetPrintPermission(false);

    // Assign security options to save options
    saveOption.SetSecurityOptions(securityOptions);

    // Save the PDF document with encrypted settings
    workbook.Save(outputFilePath, saveOption);

    std::cout << "PDF saved with security settings successfully!" << std::endl;

    Aspose::Cells::Cleanup();
}