Конвертер XPS в PDF онлайн
Конвертация формата файла XPS в формат PDF - это процесс преобразования электронного документа из одного формата в другой для обеспечения совместимости и управления данными. Формат XPS (XML Paper Specification) разработан Microsoft и обеспечивает возможность сохранять документы в высококачественной печатной версии. Однако, в некоторых случаях может потребоваться преобразование XPS в формат PDF (Portable Document Format), который является широко распространенным и поддерживается различными устройствами и программами для просмотра документов.
Для выполнения данной задачи множество методов и инструментов доступны для использования. Один из способов - использование сторонних онлайн-сервисов или программного обеспечения, специализирующихся на конвертации файлов.
Пример кода на Python, использующий библиотеку pywin32 для работы с компонентами Windows, чтобы сконвертировать XPS в PDF:
import win32com.client
def convert_xps_to_pdf(input_path, output_path):
xps_app = win32com.client.Dispatch("XpsPrint.XpsPrintJob")
xps_app.Open(input_path)
pdf_app = win32com.client.Dispatch("PdfDistiller.PdfDistiller")
pdf_app.FileToPDF(input_path, output_path)
xps_app.Close()
pdf_app.Quit()
input_path = "input.xps"
output_path = "output.pdf"
convert_xps_to_pdf(input_path, output_path)
Пример кода на C# с использованием библиотеки iTextSharp для работы с PDF:
using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;
using Microsoft.Office.Interop.Word;
public class XpsToPdfConverter
{
public static void ConvertXpsToPdf(string inputPath, string outputPath)
{
// Open XPS document
XpsDocument xpsDocument = new XpsDocument(inputPath, FileAccess.Read);
// Create PDF document
using (FileStream fs = new FileStream(outputPath, FileMode.Create))
{
Document pdfDoc = new Document();
PdfWriter writer = PdfWriter.GetInstance(pdfDoc, fs);
// Open PDF document
pdfDoc.Open();
// Iterate through each page in XPS document
FixedDocumentSequence fixedDocSeq = xpsDocument.GetFixedDocumentSequence();
foreach (DocumentReference docRef in fixedDocSeq.References)
{
FixedDocument doc = docRef.GetDocument(false);
foreach (PageContent pageContent in doc.Pages)
{
// Render page content onto PDF
DocumentPage page = pageContent.GetPage();
PdfContentByte pdfContentByte = writer.DirectContent;
pdfContentByte.AddTemplate(writer.GetImportedPage(page), 0, 0);
}
}
// Close PDF document
pdfDoc.Close();
}
// Close XPS document
xpsDocument.Close();
}
public static void Main()
{
string inputPath = "input.xps";
string outputPath = "output.pdf";
ConvertXpsToPdf(inputPath, outputPath);
}
}
Оба примера кода позволяют конвертировать файлы формата XPS в PDF, однако использование подобных решений требует установки соответствующих библиотек и соблюдения их требований.
Вместо использования кода можно также рассмотреть командную строку или GUI-инструменты, которые могут предоставлять интерфейс для конвертации XPS в PDF без необходимости писать код и настраивать среду разработки.
Независимо от выбранного подхода, важно следить за качеством конвертации и проверять конечный результат, чтобы удостовериться, что целевой PDF-файл имеет правильное форматирование и отображает содержимое XPS-документа соответственно.