AsposeTeXforPython – поширені запитання



З: Що таке AsposeTeXforPython?

В: AsposeTeXforPython — це чистий API Python (створений на основі бібліотеки AsposeTeX .NET через pythonnet), який рендерить і перетворює документи LaTeX/TeX у PDF, XPS, SVG, PNG, JPEG, BMP, TIFF та інші формати зображень, не вимагаючи жодного зовнішнього дистрибутива TeX. Він працює в процесі роботи та підходить для веб-сервісів, настільних програм і автоматичних генераторів звітів.


З: Як встановити AsposeTeXforPython?

В: Запустіть pip install aspose-tex-python-net. Пакет автоматично включає необхідне середовище виконання pythonnet. Встановіть його в будь-якому віртуальному середовищі (Windows, Linux, macOS) з Python3.8 або новішої версії. Перевірте встановлення за допомогою:

1import aspose.tex as tex
2print(tex.__version__)



З: Чи потрібен мені локальний дистрибутив TeX (MiKTeX, TeXLive тощо)?

В: Ні. Уся логіка аналізу та рендерингу вбудована в AsposeTeX, тому вам ніколи не знадобиться зовнішній механізм TeX. Бібліотека містить понад 300 базових пакетів LaTeX і стандартних файлів класів.


З: Як конвертувати файл .tex у PDF за допомогою кількох рядків коду?

В:

1import aspose.tex as tex
2
3doc = tex.Document("sample.tex")          # load LaTeX source
4doc.save("sample.pdf", tex.SaveFormat.PDF)  # write PDF

Ви також можете створити документ із рядка (tex.Document(latex_source)) або потоку в пам’яті.


З: Які вихідні формати може генерувати AsposeTeXforPython?

В: PDF, XPS, SVG, PNG, JPEG, BMP і TIFF. Кожним форматом можна керувати за допомогою спеціальних об’єктів SaveOptions (наприклад, PdfSaveOptions, ImageSaveOptions, SvgSaveOptions).



З: Як вставити власні шрифти в створений PDF?

В: Зареєструйте спеціальну папку шрифтів перед рендерингом:

1font_src = tex.FontSource()
2font_src.add_folder(r"C:\MyFonts")   # or "/home/user/fonts"
3tex.FontSettings.set_default_sources([font_src])
4doc.save("out.pdf", tex.PdfSaveOptions())

За замовчуванням усі використовувані шрифти вбудовані; вимкнути вбудовування за допомогою PdfSaveOptions.embed_fonts = False.


З: Які пакети та класи LaTeX підтримуються з коробки?

В: Більше 300 основних пакетів (наприклад, amsmath, graphicx, hyperref, xcolor, tikz, pgfplots, booktabs) і загальних класів (article, report, book, memoir).


З: Як я можу використати сторонній .sty або файл класу, який не є вбудованим?

В: Розмістіть файл .sty/.cls у тому самому каталозі, що й вихідний документ, або додайте його папку до завантажувачів ресурсів документа:

1doc = tex.Document("mydoc.tex")
2doc.resource_loaders.append(tex.FolderResourceLoader(r"C:\MyLatexPackages"))

Механізм автоматично завантажить спеціальні файли під час наступного перетворення.


З: Які основні обмеження двигуна?

В:

ОбмеженняДеталі
Вихідний код оболонки (\write18)Вимкнено з міркувань безпеки.
Повна екстерналізація TikZНе підтримується; більшість графіки TikZ відтворюються в процесі, але надзвичайно складні малюнки можуть не працювати.
Покриття шрифтів UnicodeПовністю підтримуються лише шрифти TrueType/OpenType з повними наборами гліфів; застарілі шрифти Type1 можуть потребувати конвертації.
Дуже великі документи (>500 сторінок)Можуть споживати значну кількість пам’яті; розгляньте можливість потокової передачі сторінок за допомогою Document.save(output_stream, options).



З: Як застосувати ліцензійний ключ і які доступні моделі ліцензування?

В: Застосуйте ліцензію один раз на процес:

1import aspose.tex as tex
2tex.License().set_license("Aspose.Total.NET.lic")

Варіанти ліцензування: безкоштовна пробна версія (обмеження на 10 сторінок, без водяних знаків), розробник/один комп’ютер (необмежена кількість сторінок на одному комп’ютері), корпоративний/багатокористувацький (необмежений доступ у всій організації з пріоритетною підтримкою).


З: Чи є бібліотека потоково безпечною для паралельних перетворень?

В: Так, якщо кожен потік створює власний екземпляр Document. Статичні об’єкти, такі як License, повинні бути встановлені перед початком будь-якої паралельної роботи.



З: Яка версія середовища виконання .NET потрібна AsposeTeXforPython?

В: Пакет постачається з бінарними файлами середовища виконання .NET6 (x64). Вони автоматично завантажуються pythonnet під час першого імпорту; вам не потрібно встановлювати .NET вручну.


З: Як я можу встановити розмір сторінки, орієнтацію та DPI для растрових виходів?

В: Використовуйте об’єкти PageSetup і ImageSaveOptions:

1doc.page_setup.size = tex.PageSize.A4
2doc.page_setup.orientation = tex.PageOrientation.LANDSCAPE
3
4opts = tex.ImageSaveOptions()
5opts.dpi = 300
6doc.save("out.png", opts)



З: Чи можу я відобразити LaTeX безпосередньо з рядка або потоку в пам’яті?

В: Абсолютно. Передайте вихідний рядок LaTeX у конструктор або скористайтеся потоком io.BytesIO:

1src = r"\section{Hello}\textbf{World}"
2doc = tex.Document(src)          # from string
3# or
4stream = io.BytesIO(src.encode())
5doc = tex.Document(stream)       # from stream



З: Де я можу знайти офіційну документацію, зразки коду та канали підтримки?

В: Перегляньте наступні ресурси:

Усі приклади доступні як на Python, так і на C#; код C# можна безпосередньо перекласти завдяки pythonnet.

Have any questions about Aspose.TeX?



Subscribe to Aspose Product Updates

Get monthly newsletters & offers directly delivered to your mailbox.