Конвертация файла Excel в PDF формат, совместимый с PDFA 1a на C++
Возможные сценарии использования
PDF/A — это особая разновидность PDF, предназначенная для долгосрочного хранения документов. PDF/A — это стандартизированная ISO-версия Portable Document Format (PDF), являющаяся архивным форматом PDF, который встраивает все используемые шрифты в файл PDF. PDF/A отличается от PDF возможностью запрета некоторых функций, таких как связывание шрифтов (в отличие от внедрения шрифтов) и шифрование. Aspose.Cells позволяет сохранять файлы Excel в PDF-файлах, совместимых с PDF/A (поддерживаются PDF/A-1a, PDF/A-1b, PDF/A-2a, PDF/A-2b, PDF/A-2u, PDF/A-3a, PDF/A-2ab и PDF/A-3u). В этой теме описано, как сохранять рабочую книгу Excel в PDF-файл, совместимый с PDF/A-1a.
Преобразовать файл Excel в формат PDF, совместимый с PDF/A-1a
Разработчики могут использовать класс PdfSaveOptions для установки различных атрибутов для преобразования. Установка различных свойств класса PdfSaveOptions дает контроль над настройками печати, шрифтов, безопасности и сжатия для создаваемого PDF. Самым важным свойством является PdfSaveOptions.GetCompliance(), позволяющее сохранять файлы Excel в архивные PDF-файлы.
В следующем примере кода объясняется, как преобразовать файл Excel в формат PDF, совместимый с PDF/A-1a. См. его выходной PDF а также скриншот для справки.
Снимок экрана
Образец кода
#include <iostream>
#include "Aspose.Cells.h"
using namespace Aspose::Cells;
int main()
{
Aspose::Cells::Startup();
// Create workbook object
Workbook wb;
// Access first worksheet
Worksheet ws = wb.GetWorksheets().Get(0);
// Access cell B5 and add some message inside it
Cell cell = ws.GetCells().Get(u"B5");
cell.PutValue(u"This PDF format is compatible with PDFA-1a.");
// Create pdf save options and set its compliance to PDFA-1a
PdfSaveOptions opts;
opts.SetCompliance(PdfCompliance::PdfA1a);
// Save the output pdf
wb.Save(u"..\\Data\\02_OutputDirectory\\outputCompliancePdfA1a.pdf", opts);
std::cout << "PDF created successfully with PDFA-1a compliance!" << std::endl;
Aspose::Cells::Cleanup();
}