Перетворення документа в PDF
Уміння легко і надійно конвертувати документи з одного формату в інший є ключовою особливістю Aspose.Wordsй Одним з найпопулярніших форматів для конвертації є PDF – формат фіксованого розміщення, який зберігає оригінальний зовнішній вигляд документа під час його рендерингу на різних платформах. Термін “відправлення” використовується в Aspose.Words описати процес перетворення документа в формат файлу, який вагінальний або має концепцію сторінок.
Перетворення документа Word в PDF
Перетворення з Word в PDF є досить складним процесом, який вимагає декількох етапів обчислення. Aspose.Words верстка двигуна імітує спосіб Microsoft Word’s page верстка двигуна працює, що робить PDF вихідні документи максимально наближені до того, що ви можете побачити в Microsoft Wordй
З Aspose.Words Ви можете автоматично конвертувати документ у формати Word, такі як DOC або DOCX, у PDF без використання Microsoft Офіс. Ця стаття пояснює, як виконати цю конвертацію.
Перетворення DOC або DOCX в PDF
Перетворення з формату DOC або DOCX у форматі PDF у форматі PDF Aspose.Words дуже легко і може бути здійснений лише двома лініями коду, які:
1,1 км Завантаження документа в Document об’єкт, використовуючи один з його конструкторів, вказавши назву документа з його розширенням формату. 1,1 км Покликати одну з Document.save методи на Document об’єкт і вказати бажаний формат виведення PDF, вказавши назву файла з розширенням “.PDF”.
Приклад наступного коду показує, як перетворити документ з DOCX в PDF за допомогою DOCX save метод:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Document.docx") | |
doc.save(ARTIFACTS_DIR + "BaseConversions.docx_to_pdf.pdf") |
Ви можете завантажити файл шаблону цього прикладу з Aspose.Words GitHubй
Іноді необхідно вказати додаткові параметри, які можуть вплинути на результат збереження документа як PDF. Ці параметри можна вказати за допомогою використання PdfSaveOptions клас, що містить властивості, які визначають, як буде показано вихід PDF.
Зверніть увагу, що з такою ж технікою ви можете конвертувати будь-який документ форматування потоку у формат PDF.
Перетворення в різні PDF Стандарти
Aspose.Words забезпечує PdfCompliace заохочення для підтримки перетворення DOC або DOCX в різні стандарти формату PDF (наприклад, PDF 1.7, PDF 1.5 тощо).
Приклад наступного коду показує, як перетворити документ в PDF 1.7 за допомогою PdfSaveOptions з дотриманням відповідності PDF17:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Rendering.docx") | |
save_options = aw.saving.PdfSaveOptions() | |
save_options.compliance = aw.saving.PdfCompliance.PDF17 | |
doc.save(ARTIFACTS_DIR + "WorkingWithPdfSaveOptions.conversion_to_pdf_17.pdf", save_options) |
Перетворення зображень в PDF
Перетворення в PDF не обмежується Microsoft Word формати документів. Будь-який формат підтримується Aspose.Words, в тому числі програмиматично створених, можуть бути перетворені в PDF. Наприклад, ми можемо конвертувати односторінкові зображення, такі як JPEG, PNG, BMP, EMF, або WMF, а також багатосторінкові зображення, такі як TIFF і GIF, в PDF.
Приклад коду показує, як конвертувати зображення JPEG і TIFF в PDF:
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
self.convert_image_to_pdf(IMAGES_DIR + "Logo.jpg", | |
ARTIFACTS_DIR + "BaseConversions.JpgToPdf.pdf") | |
self.convert_image_to_pdf(IMAGES_DIR + "Transparent background logo.png", | |
ARTIFACTS_DIR + "BaseConversions.PngToPdf.pdf") | |
self.convert_image_to_pdf(IMAGES_DIR + "Windows MetaFile.wmf", | |
ARTIFACTS_DIR + "BaseConversions.WmfToPdf.pdf") | |
self.convert_image_to_pdf(IMAGES_DIR + "Tagged Image File Format.tiff", | |
ARTIFACTS_DIR + "BaseConversions.TiffToPdf.pdf") | |
self.convert_image_to_pdf(IMAGES_DIR + "Graphics Interchange Format.gif", | |
ARTIFACTS_DIR + "BaseConversions.GifToPdf.pdf") |
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
@staticmethod | |
def convert_image_to_pdf(input_file_name: str, output_file_name: str): | |
"""Converts an image to PDF using Aspose.Words for .NET. | |
:param input_file_name: File name of input image file. | |
:param output_file_name: Output PDF file name. | |
""" | |
print("Converting " + input_file_name + " to PDF...") | |
doc = aw.Document() | |
builder = aw.DocumentBuilder(doc) | |
# Read the image from file | |
with drawing.Image.from_file(input_file_name) as image: | |
# Find which dimension the frames in this image represent. For example | |
# the frames of a BMP or TIFF are "page dimension" whereas frames of a GIF image are "time dimension". | |
dimension = drawing.imaging.FrameDimension(image.frame_dimensions_list[0]) | |
frames_count = image.get_frame_count(dimension) | |
for frame_idx in range(frames_count): | |
# Insert a section break before each new page, in case of a multi-frame TIFF. | |
if frame_idx != 0: | |
builder.insert_break(aw.BreakType.SECTION_BREAK_NEW_PAGE) | |
image.select_active_frame(dimension, frame_idx) | |
frame_stream = io.BytesIO() | |
image.save(frame_stream, drawing.imaging.ImageFormat.png) | |
# We want the size of the page to be the same as the size of the image. | |
# Convert pixels to points to size the page to the actual image size. | |
page_setup = builder.page_setup | |
page_setup.page_width = aw.ConvertUtil.pixel_to_point(image.width, image.horizontal_resolution) | |
page_setup.page_height = aw.ConvertUtil.pixel_to_point(image.height, image.vertical_resolution) | |
# Insert the image into the document and position it at the top left corner of the page. | |
builder.insert_image( | |
frame_stream, | |
aw.drawing.RelativeHorizontalPosition.PAGE, | |
0, | |
aw.drawing.RelativeVerticalPosition.PAGE, | |
0, | |
page_setup.page_width, | |
page_setup.page_height, | |
aw.drawing.WrapType.NONE) | |
doc.save(output_file_name) |
Щоб зробити цю роботу коду, потрібно додати посилання на Aspose.Words і aspose.pydrawing
до вашого проекту.
Зменшення PDF Розмір виходу
При збереженні в PDF ви можете вказати, чи хочете ви оптимізувати вихід. Для цього потрібно встановити optimize_output прапорець true, і потім будуть видалені почервоніння, сусід glyphs з тим самим форматуванням буде конкатенований.
# For complete examples and data files, please go to https://github.com/aspose-words/Aspose.Words-for-Python-via-.NET.git. | |
doc = aw.Document(MY_DIR + "Rendering.docx") | |
save_options = aw.saving.PdfSaveOptions() | |
save_options.optimize_output = True | |
doc.save(ARTIFACTS_DIR + "PdfSaveOptions.OptimizeOutput.pdf", save_options) |
Зменшення PDF Розмір виходу
При збереженні в PDF ви можете вказати, чи хочете ви оптимізувати вихід. Для цього потрібно встановити optimize_output прапорець true, і потім будуть видалені почервоніння, сусід glyphs з тим самим форматуванням буде конкатенований.
Дивитися ще
- Статті Рендеринг для отримання більш детальної інформації про формати фіксованої сторінки та потоку
- Статті Перетворення у формат Фіксованого сторінки для отримання додаткової інформації на макеті сторінки
- Статті Вказати параметри рендерингу при конвертації в PDF для отримання додаткової інформації про використання PdfSaveOptions клас