Конвертер PDF в XPS
Конвертирование файлов из формата PDF в формат XPS
Конвертирование файлов из формата PDF в формат XPS (XML Paper Specification) может понадобиться в различных ситуациях, например, при необходимости сохранить документ в более универсальном и удобном для обработки формате, созданном компанией Microsoft. Вот некоторые способы выполнить это преобразование с использованием различных инструментов и библиотек.
1. Использование программ сторонних разработчиков:
Существует множество программ для конвертирования PDF в XPS, таких как Adobe Acrobat, Foxit PhantomPDF и Nitro Pro. В этих программах есть возможность выбрать файл PDF и сохранить его как XPS. Однако такие программы могут быть платными и не всегда доступными для бесплатного использования.
2. Использование онлайн-сервисов:
В интернете можно найти онлайн-сервисы, предоставляющие возможность загрузить файл PDF и сконвертировать его в XPS. Некоторые из них бесплатны и не требуют установки дополнительного программного обеспечения. Примеры таких сервисов: Smallpdf, PDF2Go, PDF24 Tools. На этих сайтах обычно предусмотрены соответствующие утилиты конвертации.
3. Использование библиотек программирования:
При разработке программного обеспечения можно использовать специальные библиотеки, которые предоставляют функции для работы с файлами формата PDF и XPS. Например, библиотека iTextSharp для языка программирования C# позволяет работать с файлами PDF и поддерживает конвертацию в XPS. Ниже приведен пример кода на C# с использованием iTextSharp:
using iTextSharp.text.pdf;
using iTextSharp.text.pdf.parser;
using System.IO;
public class PdfToXpsConverter
{
public static void Convert(string inputPdfPath, string outputXpsPath)
{
// Создаем новый документ XPS
using (var doc = new System.Windows.Xps.Packaging.XpsDocument(outputXpsPath, System.IO.FileAccess.Write))
{
// Создаем новый FixedDocument внутри документа XPS
var writer = System.Windows.Xps.Packaging.XpsDocument.CreateXpsDocumentWriter(doc);
var fixedDocument = new System.Windows.Documents.FixedDocument();
// Открываем исходный файл PDF
using (var pdfReader = new PdfReader(inputPdfPath))
{
for (int pageNumber = 1; pageNumber <= pdfReader.NumberOfPages; pageNumber++)
{
// Извлекаем содержимое страницы PDF
var pageContent = PdfTextExtractor.GetTextFromPage(pdfReader, pageNumber);
// Создаем новый FixedPage внутри FixedDocument
var fixedPage = new System.Windows.Documents.FixedPage();
// Добавляем содержимое страницы
var pageContentControl = new System.Windows.Controls.ContentControl();
pageContentControl.Content = pageContent;
fixedPage.Children.Add(pageContentControl);
// Добавляем FixedPage в FixedDocument
var pageContentContainer = new System.Windows.Documents.PageContent();
pageContentContainer.Child = fixedPage;
fixedDocument.Pages.Add(pageContentContainer);
}
}
// Сохраняем FixedDocument в документ XPS
writer.Write(fixedDocument);
}
}
}
// Пример использования конвертера
string inputPdfPath = "input.pdf";
string outputXpsPath = "output.xps";
PdfToXpsConverter.Convert(inputPdfPath, outputXpsPath);
Этот пример кода использует библиотеку iTextSharp для открытия файла PDF, извлечения его содержимого и сохранения этого содержимого в файл формата XPS с использованием стандартного класса XpsDocument в Windows Presentation Foundation (WPF).
Обратите внимание, что этот код написан на языке программирования C#, но iTextSharp также поддерживает другие языки, такие как Java.
Независимо от выбранного инструмента или метода, вы сможете выполнить конвертирование файлов из формата PDF в формат XPS с использованием этих подходов.