Робота з PDF/A або PDF/UA
Формат PDF/A і PDF/UA пред’являє кілька вимог до вмісту документа, які не можуть бути виконані при автоматичному перетворенні документа в форматі Word в формат PDF. Ці вимоги повинні бути перевірені та виправлені або в документі Word перед перетворенням, або в документі PDF після перетворення, щоб отримати документ, який повністю відповідає вимогам PDF/A та PDF/UA.
Основні вимоги пред’являються до структури або шрифтів документів PDF/A і PDF/UA, які ми розглянемо в наступних розділах.
Вимоги до структури документа
Поточні вимоги пред’являються до форматів PDF/A-1a, PDF/A-2a, PDF/A-4, і PDF/UA-1.
Існують деякі нюанси роботи Aspose.Words при конвертації в різні стандарти формату PDF. Їх необхідно враховувати, якщо ви хочете отримати очікуваний результат.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Авторам недоцільно генерувати структурну або семантичну інформацію з використанням автоматизованих процесів без відповідної перевірки.
ISO 19005-2, 6.7.1
У підрозділах нижче описані нюанси роботи Aspose.Words при перетворенні в різні стандарти формату PDF і варіанти їх вирішення.
Тип конструкції
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Документ PDF являє собою послідовність блоків, таких як заголовки, абзаци, таблиці та інші. Ці блоки утворюють структуру документа-сильну або слабку.
Для PDF/A допустимі як сильні, так і слабкі структури. Microsoft Word документи мають слабку структуру за дизайном, і Aspose.Words створює PDF зі слабкою структурою відповідно, а також генерує заголовки відповідно до рівнів структури абзаців у вихідному документі.
Для документа PDF/UA-1 зі слабкою структурою додатково потрібно, щоб номери заголовків йшли по порядку без пробілів.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Структура блочного рівня може відповідати одній з двох основних парадигм:
ISO-32000-1, 14.8.4.3.5
Для документів PDF/UA-1 специфікація містить доповнення, пов'язане з Рівнями заголовків (розгорніть, щоб побачити деталі).:
Якщо семантика документа вимагає спадної послідовності заголовків, то така послідовність повинна бути строго нумерованою і не повинна пропускати проміжний рівень заголовка. H1 H2 H3 допустимо, тоді як H1 H3 - ні.
ISO-14289-1, 7.4.2
Щоб забезпечити коректний висновок, користувачі повинні переконатися, що вміст вихідного документа правильно організовано, а рівні структури абзаців вказані правильно. В іншому випадку користувач повинен перевірити та виправити структуру вихідного документа PDF.
У цьому блоці ви можете побачити приклади: як встановити рівні структури в Microsoft Word або перевірити та виправити структуру вихідного документа PDF (розгорніть, щоб побачити деталі).
В Microsoft Word для завдання рівня контуру можна використовувати стилі "Заголовок X" за замовчуванням:
Крім того, у вікні "Абзац" можна перевірити або змінити рівень контуру:
У Acrobat структуру документа можна перевірити або змінити на панелі"Теги":
Позначення вмісту як артефакту
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
На даний момент Aspose.Words позначає верхні та нижні колонтитули сторінок, роздільники нотаток, повторювані клітинки заголовка таблиці та декоративні зображення як артефакти. Зверніть увагу, що в майбутньому цей список може бути оновлений.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Графічні об'єкти в документі можна розділити на два класи:
ISO-32000-1, 14.8.2.2.1
Якщо документ містить будь-який інший вміст, який повинен бути позначений як артефакт, або якщо будь-який з артефактованих матеріалів є реальним, клієнти повинні виправити це у вихідних даних PDF.
У цьому блоці ви можете побачити приклади: як позначити фігури як декоративні в Microsoft Word або як позначити фігуру як артефакт у вихідному документі PDF (розгорніть, щоб побачити деталі).
Наприклад, фігури можуть бути позначені як декоративні в Microsoft Word, тому вони будуть експортовані в PDF Як артефакт:
Ви можете позначити фігуру як артефакт у вихідних даних PDF:
Крім того, ви можете переключити текст у заголовку з артефакту на реальний вміст у вихідних даних PDF:
Специфікація природної мови
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Мова тексту вказана в документах Microsoft Word. Aspose.Words експортує зазначену мову у вихідні дані PDF з атрибутом Lang, прикріпленим до позначеної послідовності вмісту або Тегу Span - він управляється властивістю ExportLanguageToSpanTag. Як правило, при введенні тексту Користувачем за допомогою Microsoft Word мовних проблем не виникає. Але існує ймовірність того, що мова може бути вказана неточно, якщо текст генерується автоматично.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Природна мова за замовчуванням для всього тексту у файлі повинна бути вказана у записі Lang у словнику каталогу документа.
Весь текстовий вміст у файлі, який відрізняється від мови, що використовується за замовчуванням, повинен бути вказаний за допомогою властивості `Lang`, пов'язаної з послідовністю позначеного вмісту, або за допомогою мовного запису у словнику елементів структури...
ISO-19005-2, 6.7.4
Додатково для PDF/UA-1 специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Повинна бути оголошена природна мова ... повинні бути оголошені зміни в природній мові.
ISO-14289-1, 7.2
У цьому блоці ви можете побачити приклади: як переконатися, що мова вказана правильно (розгорніть, щоб побачити деталі).
Користувачі повинні переконатися, що мова вказана правильно в будь-якому оригінальному документі Word:
Або вихідний документ PDF:
Підпис до малюнка
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Microsoft Word документи дозволяють користувачам додавати підписи до малюнків.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Підпис, що супроводжує малюнок, повинен бути позначений тегом Caption.
ISO-14289-1, 7.3
В даний час Aspose.Words не може експортувати підписи з тегом Caption, тому вони повинні бути позначені у вихідних даних PDF.
У цьому блоці ви можете побачити приклади: як вставити заголовок (розгорніть, щоб побачити деталі).
Microsoft Word заголовок можна вставити через контекстне меню:
У Acrobat заголовок можна додати або змінити за допомогою діалогового вікна властивостей `Object`:
Альтернативні описи
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Microsoft Word документи дозволяють користувачам додавати альтернативний текст до зображень, фігур та таблиць. Aspose.Words експортує такий альтернативний текст у вихідні дані PDF.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Всі елементи структури, вміст яких не має природного заданого текстового аналога, наприклад зображення, формули і т.д., повинні містити альтернативний текстовий опис, використовуючи запис Alt в словнику елементів структури...
NOTE альтернативні описи містять текстові описи, які допомагають правильно інтерпретувати непрозорий нетекстовий вміст.
ISO-19005-2, 6.7.5
У цьому блоці ви можете побачити приклади: як забезпечити, щоб усі елементи мали альтернативний текст (розгорніть, щоб побачити деталі).
Користувачі повинні переконатися, що всі елементи мають альтернативний текст у будь-якому оригінальному документі Word:
Або вихідний документ PDF:
Альтернативні описи для гіперпосилань
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
На додаток до попереднього пункту, документи Microsoft Word також дозволяють користувачам додавати альтернативний текст до гіперпосилань. Aspose.Words експортує такий альтернативний текст у вихідні дані PDF.
На жаль, не кожна програма дозволяє налаштувати альтернативний опис. Наприклад, Adobe Acrobat наразі не дозволяє налаштувати такий опис для гіперпосилань. Але в Microsoft Word ви можете зробити це наступним чином:
Іноді виникає проблема, пов’язана з неможливістю задати альтернативний текст для автоматично генеруються гіперпосилань в змісті (TOC) через Microsoft Word GUI. Aspose.Words можна було б оновити такі поля і згенерувати посилання самостійно.
Дотримуйтесь прикладу коду, щоб оновити поля TOC
, використовуючи об’єктну модель документа Aspose.Words (DOM).:
auto doc = MakeObject<Document>(filename);
auto tocHyperLinks = doc->get_Range()->get_Fields()->
LINQ_Where([](SharedPtr<Field> f) {return f->get_Type() == FieldType::FieldHyperlink; })->
LINQ_Where([](SharedPtr<FieldHyperlink> f) { return f->get_DisplayResult().StartsWith(u"#_Toc"); });
for (const auto& link : tocHyperLinks)
link->set_ScreenTip(link->get_DisplayResult());
auto opt = MakeObject<PdfSaveOptions>();
opt->set_Compliance(PdfCompliance::PdfUa1);
opt->set_DisplayDocTitle(true);
opt->set_ExportDocumentStructure(true);
opt->get_OutlineOptions()->set_HeadingsOutlineLevels(3);
opt->get_OutlineOptions()->set_CreateMissingOutlineLevels(true);
auto outFile = filename.substr(0, filename.find_last_of('.')) + "_aw.pdf";
doc->Save(outFile, opt);
Заголовки таблиць
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Таблиці в документах PDF/UA-1 повинні мати заголовки – стовпець, рядок або обидва разом. PDF/A потрібна лише стандартна таблична розмітка, яка не має додаткових обмежень. Зверніть увагу, що Aspose.Words автоматично генерує стандартну табличну розмітку.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Таблиці повинні містити заголовки ... таблиці можуть містити заголовки стовпців, рядків або обидва.
ISO-14289-1, 7.5
У цьому блоці ви можете побачити приклади: як задати заголовок таблиці (розгорніть, щоб побачити подробиці).
Заголовок таблиці може бути заданий або в вихідному документі Microsoft Word:
Або вихід PDF:
Замінний текст
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Специфікація повідомляє нам наступне:
Всі елементи текстової структури, представлені нестандартним чином, наприклад, призначені для користувача Символи або вбудована графіка, повинні містити замінює текст, використовуючи запис `ActualText` в словнику елементів структури...
ISO-19005-2, 6.7.7
Microsoft Word документ не дозволяє користувачам встановлювати текст для заміни. Тому це потрібно перевірити та виправити у вихідних даних PDF:
Скорочення та акронімічні Доповнення
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/UA-1 |
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Всі екземпляри абревіатур і скорочень в текстовому Контенті повинні бути розміщені в послідовності, позначеної як content, за допомогою тега Span, властивість E якого забезпечує текстове розширення абревіатури або акроніму...
ISO-19005-2, 6.7.8
Microsoft Word документ не дозволяє користувачам встановлювати скорочення. Тому це потрібно перевірити та виправити у вихідних даних PDF:
Назва документа
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-2a | |
PDF/A-4 | |
PDF/UA-1 |
Документ у PDF/UA-1 повинен мати заголовок. |
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Специфікація повідомляє нам наступне:
Потік метаданих у словнику каталогу документа повинен містити запис dc: title, де dc є рекомендованим префіксом для схеми метаданих Dublin Core…
ISO-14289-1, 7.1
У цьому блоці ви можете побачити приклади: як задати заголовок документа (розгорніть, щоб побачити подробиці).
Назва документа може бути задано або як вихідний документ Microsoft Word:
Або вихід PDF:
Вимоги до шрифту
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Також існує ряд нюансів роботи зі шрифтами при конвертації в формати PDF/A-1, PDF/A-2, PDF/A-4 або PDF/UA-1 за допомогою Aspose.Words. Їх необхідно враховувати, якщо ви хочете уникнути можливих проблем з вихідним документом.
У розділах нижче описані такі нюанси і варіанти їх вирішення.
Юридичні вимоги до шрифтів
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Aspose.Words не перевіряє відповідність використовуваних шрифтів юридичним обмеженням – це залежить від користувачів. Іншими словами, користувач не повинен надавати невідповідні шрифти для перетворення PDF за допомогою Aspose.Words.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Повинні використовуватися тільки ті шрифтові програми, які легально вбудовуються в файл для необмеженого універсального відображення.
ISO-19005-2, 6.2.11.4.1; ISO-14289-1, 7.21.4.1 ( точно такі ж цитати в двох специфікаціях)
.notdef Glyph
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Використання символу .notdef
заборонено. Символ .notdef
з’явиться, якщо документ містить Символи, яких немає у вибраному шрифті і які також не можуть бути виправлені за допомогою резервного механізму зміни шрифту.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Відповідний документ не повинен містити посилання на гліф .notdef ні в одному з операторів відображення тексту, незалежно від режиму відображення тексту, в будь-якому потоці вмісту.
ISO-19005-2, 6.2.11.8; ISO-14289-1, 7.21.8 ( точно такі ж цитати в двох специфікаціях)
У цьому блоці ви можете побачити приклади: як видалити або замінити ці символи (розгорніть, щоб побачити деталі).
Користувачі повинні видалити або замінити ці символи в будь-якому оригінальному документі Word:
Або вивести документ PDF за допомогою інструмента " редагувати PDF":
Зона приватного користування (PUA)
PDF рівні відповідності стандартам в межах Aspose.Words | Наявність вимоги |
---|---|
PDF/A-1a | |
PDF/A-1b | |
PDF/A-2a | |
PDF/A-2b | |
PDF/A-4 | |
PDF/UA-1 |
Область приватного використання (PUA) символи відображаються в основному для Windows символьних шрифтів, таких як “Symbol”, “Wingdings”, “Webdings” та інших. Microsoft Word формати не надають можливості зберігати фактичний текст для символів.
Специфікація повідомляє нам наступне (розгорніть, щоб побачити деталі):
Тільки для відповідності рівню a, для будь-якого символу... який зіставляється з кодом або кодами в області приватного використання Unicode (PUA), запис ActualText ... для цього символу або послідовності символів, частиною яких є такий символ, має бути присутній запис.
ISO-19005-2, 6.2.11.7.3
“Segoe UI Symbol” - це Шрифт Unicode Windows, який можна використовувати як альтернативу шрифтам символів.
У цьому блоці ви можете побачити приклади: що повинен зробити користувач, щоб вирішити проблему зі шрифтами символів (розгорніть, щоб побачити деталі).
Замініть символьний шрифт на юнікодний у вихідному документі Word:
Або додайте запис ActualText до проблемних символів у вихідному документі PDF: