ما خوشحالیم که انتشار GroupDocs.Viewer for Python 26.9 را اعلام میکنیم که از سپتامبر 2026 در دسترس است. این نسخه موتور زیرساخت GroupDocs.Viewer را از 26.4 به 26.8 ارتقا میدهد، پشتیبانی از رندر فایلهای Microsoft Project را در لینوکس و macOS اضافه میکند، قابلیت شمارهگذاری صفحات و کنترل وضوح برای اسناد Word را معرفی میکند، وابستگی libgdiplus را در پلتفرمهای غیر ویندوزی حذف میکند و سازگاری با Python 3.5–3.7 را بازمیگرداند. زماناجرای توکار .NET به 10.0.12 بهروزرسانی شده و API پایتون اکنون شامل docstringهای کامل با مثالهای کد میشود.
چه چیز جدیدی در این نسخه وجود دارد
- [Feature] افزودن
WordProcessingOptions.page_number_locationو enumWordsPageNumberLocationبرای افزودن شماره صفحه به اسناد Word رندر شده (VIEWERPYTHON-153) - [Feature] افزودن
WordProcessingOptions.horizontal_resolution/vertical_resolutionبرای تنظیم DPI خروجی PNG و JPEG برای اسناد Word (VIEWERPYTHON-154) - [Feature] افزودن پشتیبانی از رندر فایلهای Microsoft Project (MPP, MPT, MPX) در لینوکس و 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در لینوکس و macOS (VIEWERPYTHON-158) - [Enhancement] ارائه یک API پایتون یکسان در تمام پلتفرمها — بستههای لینوکس و macOS اکنون
ProjectManagementOptionsو اعضایFileTypeمربوط به Project، Photoshop، Illustrator و OneNote را دریافت میکنند (VIEWERPYTHON-159) - [Enhancement] افزودن docstringها با خلاصهها، پارامترها و مثالهای کد به API پایتون (VIEWERPYTHON-160)
- [Enhancement] افزودن بخش راهنمای توسعهدهنده به مرجع API (VIEWERPYTHON-161)
- [Fix] عدم امکان استفاده از بسته در Python 3.5 – 3.7 (VIEWERPYTHON-162)
- [Fix] pip بسته را در نسخههای لینوکس و 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) |
موارد جدید در لینوکس و macOS
ProjectManagementOptions، BaseViewOptions.project_management_options و FileType.MPP، MPT، MPX، PSD، PSB، AI، ONE قبلاً در ویندوز موجود بودند و اکنون در بستههای لینوکس و macOS نیز موجوداند — به یک API پایتون در همه پلتفرمها مراجعه کنید.
ویژگیهای جدید
فایلهای Microsoft Project در لینوکس و macOS
فایلهای MPP، MPT و MPX قبلاً فقط در ویندوز رندر میشدند؛ در لینوکس و macOS با خطای Failed to detect file type مواجه میشدند. موتور 26.8 آنها را در تمام پلتفرمها رندر میکند، با همان ProjectManagementOptions که در ویندوز استفاده میشود:
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)
در لینوکس، ابتدا فونتهای اصلی مایکروسافت (ttf-mscorefonts-installer) را نصب کنید: بدون این فونتها رندر پروژه با خطای Cannot find fallback font 'Generic Sans Serif' شکست میخورد و جایگزینهای سازگار متریک مانند Liberation این جستجو را برآورده نمیکنند.
شمارهگذاری صفحات در اسناد Word رندر شده
WordProcessingOptions.page_number_location شمارههای صفحه را هنگام رندر یک سند Word اضافه میکند، حتی اگر سند قبلاً شمارهای نداشته باشد. یکی از شش موقعیت موجود در enum جدید 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 نیست
بستههای لینوکس و macOS از طریق SkiaSharp و Aspose.Drawing رندر میشوند که داخل wheel گنجانده شدهاند. آنها هرگز libgdiplus را فراخوانی نمیکنند: تمام مثالهای مستند شده در یک کانتینر لینوکس اجرا میشوند که نه libgdiplus دارد و نه وابستگیهای گرافیکی آن. libgdiplus / mono-libgdiplus را از ایمیجها و اسکریپتهای provisioning خود حذف کنید.
یک API پایتون در همه پلتفرمها
پکیجهای قبلی لینوکس و macOS API کوچکتری نسبت به ویندوز ارائه میدادند. نسخه 26.9 همان API را در همه جا ارائه میدهد، بنابراین کدی که بر پایه مستندات نوشته شده در تمام پلتفرمها کار میکند. بستههای لینوکس و macOS ProjectManagementOptions و اعضای FileType.MPP، MPT و MPX را دریافت میکنند که اکنون در آنها نیز کار میکند.
آنها همچنین FileType.PSD، PSB، AI و ONE را اضافه میکنند. این فرمتها همچنان فقط در ویندوز موجود هستند و در لینوکس و 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 on Windows, False on Linux and macOS
print(".mpp" in supported) # True everywhere
مثال کد
برای رندر یک فایل Microsoft Project در لینوکس یا 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 دانلود کنید.