Часто задаваемые вопросы
Какова модель лицензирования для Aspose.PDF FOSS для Python?
Aspose.PDF FOSS for Python имеет лицензию MIT. Он бесплатен для использования в коммерческих и некоммерческих продуктах, без необходимости активационного ключа, ограничений вызовов API или требуемого коммерческого соглашения.
Могу ли я использовать его в коммерческих продуктах?
Да. Лицензия MIT разрешает использование, модификацию и распространение в коммерческих продуктах без роялти или указания авторства, кроме уведомления о лицензии.
Как установить Aspose.PDF FOSS для Python?
Установите его с помощью команды ниже:
git clone https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.git
cd Aspose-PDF-FOSS-for-Python
pip install -e .Проверьте установку:
import aspose_pdf
print("aspose_pdf OK")Какие версии Python поддерживаются? Есть ли какие-либо нативные зависимости?
Библиотека требует Python версии 3.11 или новее. Это чистый пакет Python — при установке и выполнении не требуются скомпилированные модульные расширения или нативные зависимости (C/C++).
Какие форматы может читать и записывать Aspose.PDF FOSS для Python?
Нативные PDF-документы являются базовым форматом: Document открывает и сохраняет PDF-файлы напрямую. Помимо PDF библиотека может экспортировать документ в HTML, Markdown или SVG, передавая значение DocFormat в Document.save(), а также может импортировать исходный контент Html, Cdr, Svg, Cgm и Ofd с помощью соответствующих классов *LoadOptions (HtmlLoadOptions, CdrLoadOptions, CgmLoadOptions, OfdLoadOptions). Отрендеренные страницы PDF также могут быть экспортированы в растровые изображения через RasterizedPage.
Могу ли я экспортировать PDF в HTML, Markdown или SVG?
Да, для экспорта в HTML и Markdown; передайте соответствующий элемент перечисления DocFormat в Document.save(), при желании сочетая его с HtmlSaveOptions или MarkdownSaveOptions для управления деталями макета, такими как split_into_pages или extract_images.
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save("output.html", save_format=aspose_pdf.DocFormat.HTML)Как создать новый PDF с нуля?
Создайте экземпляр Document, добавьте страницы с помощью doc.pages.add(), разместите содержимое с помощью Page.add_text() или Page.add_image(), затем вызовите Document.save():
import aspose_pdf
doc = aspose_pdf.Document()
page = doc.pages.add()
page.add_text("Monthly Report", x=72, y=720, font_size=18)
doc.save("report.pdf")Как отобразить страницу PDF в виде изображения?
Вызовите Document.save_page_as_image(), передав нулевой индекс страницы и путь назначения; DPI управляет разрешением вывода:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.save_page_as_image(0, "page1.png", dpi=150)Как извлечь текст из PDF?
Используйте TextAbsorber (или TextFragmentAbsorber), посетите документ, затем прочитайте собранный текст:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
absorber = aspose_pdf.TextAbsorber()
absorber.visit(doc)
print(absorber.text)Как зашифровать документ PDF?
Вызовите Document.encrypt(), указав пользовательский пароль, пароль владельца и значение прав доступа:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("input.pdf")
doc.encrypt(user_password="user-pw", owner_password="owner-pw", permissions=0)
doc.save("encrypted.pdf")Document.decrypt(password) удаляет шифрование из уже открытого документа, а Document.change_passwords() вращает оба пароля на месте.
Как читать или заполнять значения полей AcroForm?
Получите доступ к свойству form документа и переберите Form.fields, либо добавьте новые поля с помощью Form.add_text_field(), Form.add_checkbox() и связанных методов:
import aspose_pdf
doc = aspose_pdf.Document()
doc.load_from("submitted_form.pdf")
for field in doc.form.fields:
print(field.name, "=", field.value)Есть ли известные ограничения в текущем выпуске?
Да. Пять методов в четырёх классах являются нереализованными заглушками в текущем выпуске: Shading._color_at, FontSource.get_font_definitions (и его подклассы FileFontSource, FolderFontSource, MemoryFontSource, SystemFontSource, которые наследуют ту же заглушку), DataSource.read_bytes and DataSource.write_bytes (и их подклассы FileDataSource, StreamDataSource, ByteArrayDataSource), и PdfPlugin.process. Вызов этих методов вызывает NotImplementedError вместо выполнения задокументированной операции. См. Troubleshooting страницу для получения деталей и обходных решений.
Где находится исходный код и система отслеживания проблем?
Исходный код и система отслеживания проблем доступны по адресу https://github.com/aspose-pdf-foss/Aspose-PDF-FOSS-for-Python.