Руководства по миграции
Руководства по миграции
Заголовок раздела «Руководства по миграции»NextPDF — движок Portable Document Format (PDF) 2.0 для PHP. Если вы уже формируете PDF с помощью другой библиотеки, руководство по миграции сопоставляет её интерфейс прикладного программирования (API) с NextPDF и описывает различия в поведении, с которыми вы столкнётесь. Этот сводный индекс по всем репозиториям фиксирует, с какой библиотеки переводит каждое руководство, какому репозиторию оно принадлежит и какую общую модель использует.
Поскольку эта страница — индекс, она не делает утверждений о поведении ни одного руководства. Каждое руководство принадлежит собственному репозиторию. Агрегатор подтягивает руководство на этот сайт; пока оно не появилось, ссылка указывает на заполнитель. Каждое утверждение о поведении находится в самом руководстве и подкреплено тестом в его репозитории или зафиксированным пунктом ISO 32000-2 / Cascading Style Sheets Working Group (CSS WG), а не здесь.
Единая модель миграции
Заголовок раздела «Единая модель миграции»Каждое руководство по миграции на NextPDF использует одну и ту же честную модель. Читайте каждое руководство с учётом этой модели:
- Совместимость, а не побайтовая идентичность. NextPDF и библиотека, от которой вы уходите, — независимые реализации. Мигрированный документ сохраняет функциональное назначение, а не попиксельную или побайтовую идентичность. Ни одно руководство не обещает замены без доработок или 100%-й совместимости; byte-identical результат также не заявляется.
- Покрытие — это измеренное значение, а не заявление. Там, где руководство указывает покрытие, например для адаптера TCPDF, это метрика функциональной полноты, взятая из матрицы в репозитории, в смысле ISO/IEC 25023, пункт 43. Это измеренное количество покрытых методов, а не всеобъемлющая гарантия.
- Каждое руководство открыто заявляет о различиях в поведении. Каждое руководство содержит явную таблицу различий и раздел “не поддерживается / нет прямого эквивалента”. Различие — задокументированное свойство движка, а не дефект.
- Смена средства отрисовки требует повторной проверки. Миграция изменяет код и требует нового эталона результата. Каждое руководство описывает, как тестировать миграцию; визуальная приёмка выполняется для каждого документа и остаётся обязанностью интегратора.
Формы миграции
Заголовок раздела «Формы миграции»Руководства делятся на две формы. Каждая показывает, насколько сильно меняется код.
- Миграции с переписыванием API не имеют слоя совместимости: каждое место вызова переписывается по сопоставлению методов и карте параметров из руководства. Эту форму используют миграции библиотек преобразования Hypertext Markup Language (HTML) в PDF (
dompdf,mpdf); они напрямую нацелены на конвейер Html в NextPDF. - Миграции по схеме “подключить, затем мигрировать” поставляют адаптер, почти совместимый на уровне исходного кода, поэтому первоначальный переход сводится к минимальной замене зависимости. Затем вы постепенно переводите места вызова на современный API и выводите адаптер из использования. Миграция TCPDF использует эту форму через адаптер
nextpdf/compat-legacy.
Справочник руководств и репозиториев-владельцев
Заголовок раздела «Справочник руководств и репозиториев-владельцев»Каждое из перечисленных ниже руководств находится в каталоге docs/public/ репозитория-владельца, и агрегатор подтягивает его на этот сайт. Репозиторий-владелец — авторитетный источник для утверждений о поведении в этом руководстве; данный индекс фиксирует только маршрутизацию.
| Откуда | Руководство | Форма | Репозиторий-владелец | Страница |
|---|---|---|---|---|
| Dompdf | Dompdf → конвейер Html в NextPDF | Переписывание API | nextpdf (ядро) | Руководство Dompdf dompdf (запланировано в вышестоящем репозитории) |
| mPDF | mPDF → ядро NextPDF | Переписывание API | nextpdf (ядро) | Руководство mPDF mpdf (запланировано в вышестоящем репозитории) |
| TCPDF 6.x | TCPDF → NextPDF через адаптер compat-legacy | Подключить, затем мигрировать | nextpdf-compat-tcpdf (репозиторий), пакет nextpdf/compat-legacy | Руководство TCPDF tcpdf-compat (запланировано в вышестоящем репозитории) |
Руководства dompdf и mpdf находятся в репозитории ядра, потому что нацелены на API ядра движка; их подкрепляют примеры из каталога examples/ ядра. Руководство tcpdf-compat находится в репозитории compat-tcpdf, поскольку пакет nextpdf/compat-legacy отвечает за поведенческую поверхность TCPDF и тесты адаптера, которые подкрепляют это руководство. Этот индекс относится к репозиторию документации, поскольку охватывает несколько репозиториев и не делает утверждений о поведении ни одного отдельного руководства.
Для чего предназначено каждое руководство
Заголовок раздела «Для чего предназначено каждое руководство»- Dompdf → NextPDF (
dompdf(запланировано в вышестоящем репозитории)) — для кодовых баз, использующихdompdf/dompdfна стороне сервера. Оно сопоставляетloadHtml/render/outputи ключиOptionsс конвейером Html в NextPDF, а ожидания по возможностям CSS относит к матрице поддержки CSS, содержащей только проверенные функции. Слоя совместимости для класса Dompdf нет; вы переписываете каждое место вызова. - mPDF → NextPDF (
mpdf(запланировано в вышестоящем репозитории)) — для кодовых баз, использующихmpdf/mpdf. Оно сопоставляетWriteHTML/Output/AddPageи массив конфигурации конструктора с API ядра, с одним отличием в обработке шрифтов: NextPDF разрешает шрифты через единый каталог шрифтов и сопоставление по CSS и всегда создаёт подмножества. Слоя совместимости для класса Mpdf нет. - TCPDF → NextPDF (compat-legacy) (
tcpdf-compat(запланировано в вышестоящем репозитории)) — для кодовых баз TCPDF 6.x, которым нужно минимальное первоначальное изменение. Установите адаптер, проверьте фактически используемую поверхность в строгом режиме по матрице покрытия из репозитория, переведите места вызова с адаптера, а затем добавьте поверх тегированную структуру PDF/Universal Accessibility (PDF/UA-2) — возможность, которой у TCPDF никогда не было. Адаптер — лишь промежуточная конструкция, а не конечная цель, и он не гарантирует замены без доработок.
Как разрешаются ссылки на руководства
Заголовок раздела «Как разрешаются ссылки на руководства»Каждый заполнитель [[…]] выше указывает на страницу, которая находится в репозитории-владельце в каталоге docs/public/migration/; агрегатор подтягивает эту страницу на данный сайт. Целевые слаги следуют единому соглашению:
/migration/<source>/Токен <source> — короткое имя библиотеки, с которой вы мигрируете: одно из dompdf, mpdf или tcpdf-compat, как указано в таблице справочника руководств выше. Пока целевая страница не агрегирована, её ссылка остаётся заполнителем и не разрешается. Этот индекс не делает утверждений о поведении ни одного целевого руководства; он фиксирует только маршрутизацию и общую модель миграции.
См. также
Заголовок раздела «См. также»- Матрица поддержки CSS — авторитетный источник для ожиданий по возможностям CSS в руководствах
dompdfиmpdf, содержащий только проверенные функции. - Сборник рецептов по интеграции — сводный индекс по всем репозиториям для пакетов интеграции экосистемы. Он охватывает другую задачу: подключение движка, а не миграцию на него.