We’re happy to announce the release of GroupDocs.Viewer for Python 26.9, available as of September 2026. This release upgrades the underlying GroupDocs.Viewer engine from 26.4 to 26.8, adds support for rendering Microsoft Project files on Linux and macOS, introduces page numbering and resolution controls for Word documents, removes the libgdiplus dependency on non-Windows platforms, and restores compatibility with Python 3.5–3.7. The embedded .NET runtime is updated to 10.0.12, and the Python API now includes full docstrings with code examples.
Що нового в цьому випуску
- [Feature] Додано
WordProcessingOptions.page_number_locationта перелікWordsPageNumberLocationдля нанесення номерів сторінок на відрендерені Word‑документи (VIEWERPYTHON-153) - [Feature] Додано
WordProcessingOptions.horizontal_resolution/vertical_resolutionдля встановлення DPI PNG та JPEG‑виводу Word‑документів (VIEWERPYTHON-154) - [Feature] Додано підтримку рендерингу файлів Microsoft Project (MPP, MPT, MPX) на Linux та macOS (VIEWERPYTHON-155)
- [Enhancement] Оновлено движок GroupDocs.Viewer з 26.4 до 26.8 (VIEWERPYTHON-156)
- [Enhancement] Оновлено вбудований .NET runtime з 10.0.0 до 10.0.12 (VIEWERPYTHON-157)
- [Enhancement] Видалено вимогу
libgdiplus/mono-libgdiplusна Linux та macOS (VIEWERPYTHON-158) - [Enhancement] Тепер одна й та сама Python API доступна на всіх платформах — пакети для Linux і macOS отримали
ProjectManagementOptionsта члениFileTypeдля Project, Photoshop, Illustrator і OneNote (VIEWERPYTHON-159) - [Enhancement] Додано docstring‑и з описами, параметрами та прикладами коду до Python API (VIEWERPYTHON-160)
- [Enhancement] Додано розділ «Посібник» до довідки API (VIEWERPYTHON-161)
- [Fix] Виправлено неможливість використання пакету на Python 3.5 – 3.7 (VIEWERPYTHON-162)
- [Fix] pip встановлює пакет на Linux і macOS версіях, які не можуть його запускати (VIEWERPYTHON-163)
Зміни в публічному API
Нічого не видалено і не перейменовано.
Нові типи
| Тип | Модуль | Опис |
|---|---|---|
WordsPageNumberLocation |
groupdocs.viewer.options |
Куди наносити номери сторінок у відрендереному Word‑документі: NOT_APPLY (за замовчуванням), TOP_LEFT, TOP_CENTER, TOP_RIGHT, BOTTOM_LEFT, BOTTOM_CENTER, BOTTOM_RIGHT |
Нові члени існуючих класів
| Клас | Член | Опис |
|---|---|---|
WordProcessingOptions |
page_number_location |
Нумерація сторінок, яку слід застосовувати під час рендерингу (WordsPageNumberLocation) |
WordProcessingOptions |
horizontal_resolution |
Горизонтальна DPI PNG / JPEG‑виводу, 72 – 600 (за замовчуванням 96) |
WordProcessingOptions |
vertical_resolution |
Вертикальна DPI PNG / JPEG‑виводу, 72 – 600 (за замовчуванням 96) |
Нове для Linux та macOS
ProjectManagementOptions, BaseViewOptions.project_management_options та FileType.MPP, MPT, MPX, PSD, PSB, AI, ONE вже були доступні у Windows і тепер також включені у пакети для Linux і macOS — див. Один Python API на всіх платформах.
Нові можливості
Файли Microsoft Project на Linux та macOS
Файли MPP, MPT і MPX раніше рендерилися лише у Windows; у Linux та macOS вони завершувалися помилкою Failed to detect file type. Движок 26.8 рендерить їх на будь‑якій платформі, використовуючи ті ж ProjectManagementOptions, що й у Windows:
from groupdocs.viewer import Viewer
from groupdocs.viewer.options import HtmlViewOptions, TimeUnit
with Viewer("project.mpp") as viewer:
options = HtmlViewOptions.for_embedded_resources("page_{0}.html")
options.project_management_options.time_unit = TimeUnit.DAYS
viewer.view(options)
У Linux спочатку встановіть Microsoft core fonts (ttf-mscorefonts-installer): без них рендеринг Project‑файлів завершується помилкою Cannot find fallback font 'Generic Sans Serif', а шрифти‑замінники типу Liberation не задовольняють цей пошук.
Номери сторінок у відрендерених Word‑документах
WordProcessingOptions.page_number_location наносить номери сторінок під час рендерингу Word‑документа, навіть якщо у самому документі їх немає. Оберіть одну з шести позицій нового переліку WordsPageNumberLocation; за замовчуванням NOT_APPLY залишає документ без змін.
from groupdocs.viewer import Viewer
from groupdocs.viewer.options import PdfViewOptions, WordsPageNumberLocation
with Viewer("document.docx") as viewer:
options = PdfViewOptions("output.pdf")
options.word_processing_options.page_number_location = WordsPageNumberLocation.BOTTOM_CENTER
viewer.view(options)
Роздільна здатність PNG та JPEG‑виводу для Word‑документів
WordProcessingOptions.horizontal_resolution і vertical_resolution встановлюють DPI зображень, отриманих з Word‑документів. За замовчуванням — 96 DPI; значення поза діапазоном 72 – 600 DPI автоматично обрізаються до меж діапазону.
from groupdocs.viewer import Viewer
from groupdocs.viewer.options import PngViewOptions
with Viewer("document.docx") as viewer:
options = PngViewOptions("page_{0}.png")
options.word_processing_options.horizontal_resolution = 300
options.word_processing_options.vertical_resolution = 300
viewer.view(options)
Більше немає libgdiplus
Пакети для Linux і macOS рендерять через SkiaSharp і Aspose.Drawing, які входять до складу колеса. Вони ніколи не викликають libgdiplus: усі задокументовані приклади працюють у Linux‑контейнері, де немає ні libgdiplus, ні його графічних залежностей. Видаліть libgdiplus / mono-libgdiplus зі своїх образів та скриптів розгортання.
Один Python API на всіх платформах
Раніше пакети для Linux і macOS мали обмежений набір API порівняно з Windows. У 26.9 один і той самий API доступний скрізь, тому код, написаний за документацією, імпортується на будь‑якій платформі. Пакети для Linux і macOS отримали ProjectManagementOptions та члени FileType.MPP, MPT і MPX, які тепер працюють і там.
Вони також отримали FileType.PSD, PSB, AI і ONE. Ці формати залишаються лише для Windows, і у Linux та macOS спроба доступу до одного з цих членів викликає GroupDocsViewerException: Member 'GroupDocs.Viewer.FileType.PSD' not found. Щоб у runtime визначити, чи підтримується формат, використовуйте FileType.get_supported_file_types(), який повертає лише ті типи, що рендерить поточний движок:
from groupdocs.viewer import FileType
supported = {file_type.extension for file_type in FileType.get_supported_file_types()}
print(".psd" in supported) # True у Windows, False у Linux та macOS
print(".mpp" in supported) # True скрізь
Приклад коду
Рендеринг файлу Microsoft Project у Linux або macOS з щоденними одиницями часу:
from groupdocs.viewer import Viewer
from groupdocs.viewer.options import HtmlViewOptions, TimeUnit
with Viewer("project.mpp") as viewer:
options = HtmlViewOptions.for_embedded_resources("page_{0}.html")
options.project_management_options.time_unit = TimeUnit.DAYS
viewer.view(options)
Нанесення нумерації сторінок у Word‑документ та рендеринг у PDF:
from groupdocs.viewer import Viewer
from groupdocs.viewer.options import PdfViewOptions, WordsPageNumberLocation
with Viewer("document.docx") as viewer:
options = PdfViewOptions("output.pdf")
options.word_processing_options.page_number_location = WordsPageNumberLocation.BOTTOM_CENTER
viewer.view(options)
Як отримати оновлення
PyPI
Оновіть пакет до останньої версії через PyPI:
pip install groupdocs-viewer-net==26.9.0
Пряме завантаження
Завантажте wheel‑файли для всіх платформ зі сторінки GroupDocs.Viewer for Python via .NET 26.9.