Мы рады объявить о выпуске GroupDocs.Viewer for Python 26.9, доступном с сентября 2026 года. В этом выпуске движок GroupDocs.Viewer обновлён с 26.4 до 26.8, добавлена поддержка рендеринга файлов Microsoft Project на Linux и macOS, введены возможности нумерации страниц и управления разрешением для документов Word, удалена зависимость от libgdiplus на платформах, отличных от Windows, и восстановлена совместимость с Python 3.5–3.7. Встроенная среда .NET обновлена до 10.0.12, а API Python теперь содержит полные docstrings с примерами кода.

Что нового в этом выпуске

  • [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 с 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] Добавить docstrings с описаниями, параметрами и примерами кода в Python‑API (VIEWERPYTHON-160)
  • [Enhancement] Добавить раздел «Developer Guide» в справочник API (VIEWERPYTHON-161)
  • [Fix] Невозможность использовать пакет с Python 3.5 – 3.7 (VIEWERPYTHON-162)
  • [Fix] pip устанавливает пакет на Linux и macOS версиях, которые не могут его запустить (VIEWERPYTHON-163)

Public API changes

Никакие типы не удалены и не переименованы.

Новые типы

Тип Модуль Описание
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 — см. One Python API on every platform.

Новые возможности

Файлы 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 (ttf-mscorefonts-installer): без них рендеринг проекта завершится ошибкой 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, которые включены в wheel. Они никогда не вызывают 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. Чтобы определить в рантайме, поддерживается ли формат, используйте 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.

Ресурсы