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.

Ресурси