Вопрос или проблема
В приложении WinRT я могу создать файл Word с некоторой информацией, заполненной пользователем, но я также хочу создать копию в формате PDF (сохранить другой файл с помощью моего приложения, а не конвертировать docx в pdf с помощью стороннего ПО)
Есть ли простой способ сделать это?
Вы можете ознакомиться с коммерческим SDK WinRT, который обладает возможностью сохранения PDF-файлов, например, LEADTOOLS WinRT SDK. Этот SDK позволяет легко сохранять файл в формате PDF, а также во многих других форматах, таких как:
JPEG, JPEG 2000, PNG, TIFF, PDF и GIF
Вот простой пример кода о том, как сохранить файл с помощью класса RasterCodecs SaveAsync:
await codecs.SaveAsync(_originalImage, leadStream, RasterImageFormat.RasPdf, 24);
Вы можете скачать бесплатную 60-дневную оценочную версию SDK, которая включает полностью исходные примеры программ, показывающие, как достичь различных функций с использованием SDK.
Как предупреждение, я являюсь сотрудником этой библиотеки.
То, что я использую в других местах, это Pandoc (https://pandoc.org/) на компьютере с Windows. Вы можете запланировать выполнение скрипта PowerShell, чтобы проверять папку или что-то еще для обработки конверсий.
pandoc -s -t latex README -o readme.tex
pdflatex readme.tex
Ответ или решение
Библиотеки для конвертации .docx в PDF в WinRT приложениях
В зависимости от ваших требований, существует несколько библиотек, которые могут быть использованы для конвертации документов формата .docx в PDF в приложениях WinRT. Если ваша главная задача — создать PDF-файл непосредственно из кода вашего приложения без использования внешнего программного обеспечения, то ваш выбор будет зависеть от целого ряда факторов, включая сложность реализации, функциональные возможности и стоимость использования.
1. LEADTOOLS WinRT SDK
Одним из наиболее популярных решений для работы с форматами изображений и документами является LEADTOOLS WinRT SDK. Эта библиотека предлагает мощные инструменты для конвертации и обработки изображений, включая возможность сохранения документов в формате PDF.
Преимущества использования LEADTOOLS:
- Широкий набор поддерживаемых форматов, включая JPEG, PNG, TIFF и PDF.
- Удобный интерфейс для работы с изображениями и документами.
- Минимальные усилия на интеграцию и настройку благодаря хорошо документированным API.
Пример кода:
below is an example of how you can save a document as PDF using LEADTOOLS:
await codecs.SaveAsync(_originalImage, leadStream, RasterImageFormat.RasPdf, 24);
Этот код позволяет сохранить изображение как PDF-файл, что подходит для пользователей, которые хотят быстро и эффективно осуществлять такие преобразования.
С помощью LEADTOOLS вы можете загрузить 60-дневную пробную версию SDK, которая включает в себя полнофункциональные примеры, демонстрирующие, как работать с библиотекой.
2. Pandoc
Если вы ищете более гибкое решение и готовы применить PowerShell для автоматизации процессов, то Pandoc может стать вашим выбором. Это удобный инструмент для конвертации документов на разных языках разметки, включая .docx в PDF. Однако, стоит отметить, что Pandoc требует установки дополнительного программного обеспечения, такого как LaTeX, для обработки некоторых форматов.
Автоматизация с помощью PowerShell:
Вы можете написать PowerShell-скрипт для автоматизированной конвертации файлов из одной папки в другую. Пример скрипта для использования Pandoc может выглядеть следующим образом:
pandoc -s -t latex README -o readme.tex
pdflatex readme.tex
Это решение может быть полезно для серверов или систем, где необходима автоматизация без прямого вмешательства пользователя.
3. LibreOffice SDK
Еще одним вариантом является использование LibreOffice SDK. Это решение требует установки LibreOffice, но предоставляет мощные инструменты для работы и конвертации офисных документов. Вы можете писать скрипты или использовать UNO API для автоматизации преобразований.
Итог
Выбор подходящей библиотеки зависит от ваших конкретных требований и контекста использования. Если вам нужно просто и быстро конвертировать .docx в PDF, то LEADTOOLS будет лучшим вариантом благодаря своей простоте и богатству функций. Если же вы готовы рассмотреть более гибкие, но менее заключенные в рамки решения, то стоит обратить внимание на Pandoc с использованием PowerShell или LibreOffice SDK для более сложных интеграций.
Выбор подходящего инструмента может существенно повлиять на эффективность выполнения поставленных задач в вашем WinRT приложении.