
XML(eXtensible Markup Language) является широко используемым форматом для совместимости данных, в то время как PDF(Portable Document Format) является предпочтительным выбором для создания и обмена документами в читаемом и печатаемом формате. В этом руководстве мы исследуем, как безшовно преобразовать XML в PDF с использованием C#.
Почему конвертировать XML в PDF?
Прежде чем углубиться в технические детали, давайте кратко обсудим, pourquoi vous pourriez avoir besoin de convertir XML en PDF. XML отлично подходит для хранения данных, но он не особенно удобен для визуального представления. PDF, с другой стороны, предлагает отшлифованный и стандартизированный формат для представления информации. Конвертируя XML в PDF, вы можете создавать профессионально выглядящие документы с легкостью, подходящие для обмена, печати и архивирования.
Конвертер XML в PDF - Установка API на C#
Вы можете установить Conholdate.Total for .NET на вашей стороне, скачав DLL файл или запустив следующую команду установки NuGet:
PM> NuGet\Install-Package Conholdate.Total
Преобразование XML в PDF на C#
Для этого примера преобразования XML в PDF на C# мы будем использовать следующий пример XML-файла:
<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
<Page id="mainPage">
<TextFragment>
<TextSegment>Hello</TextSegment>
</TextFragment>
<TextFragment>
<TextSegment>World!</TextSegment>
</TextFragment>
</Page>
</Document>
Следующие шаги необходимо выполнить, чтобы продолжить преобразование XML в PDF:
- Создайте объект класса Document, чтобы загрузить входной XML файл.
- Привяжите исходный файл с помощью метода BindXml.
- Преобразуйте XML в PDF с помощью метода Save.
Следующий пример кода показывает, как преобразовать XML в PDF в C#:
// Создайте объект Document
Document doc = new Document();
// Привязать исходный XML файл
doc.BindXml(dataDir + "input.xml");
// Convert XML to PDF
doc.Save(dataDir + "XMLToPDF.pdf");
Тем не менее, примечательно, что исходный XML файл должен соответствовать XSD schema для конвертации.
Преобразование XML и XSLT в PDF на C#
В некоторых сценариях у вас может быть настраиваемый файл XML, для которого нужно создать PDF-документ. Вы можете создать файл XSLT для обработки настраиваемых файлов XML, как объяснено в следующих примерах файлов:
Sample XML File
<?xml version="1.0" encoding="utf-8" ?>
<Contents>
<Content>Hello World!</Content>
</Contents>
Sample XSLT File
<?xml version="1.0" encoding="utf-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="text()"/>
<xsl:template match="/Contents">
<html>
<Document xmlns="Aspose.Pdf" IsAutoHyphenated="false">
<PageInfo>
<DefaultTextState
Font = "Helvetica" FontSize="8" LineSpacing="4"/>
<Margin Left="5cm" Right="5cm" Top="3cm" Bottom="15cm" />
</PageInfo>
<Page id="mainSection">
<TextFragment>
<TextSegment>
<xsl:value-of select="Content"/>
</TextSegment>
</TextFragment>
</Page>
</Document>
</html>
</xsl:template>
</xsl:stylesheet>
Теперь следующие шаги подробно описывают процесс преобразования XML и XSLT в PDF-документы на C#:
- Создайте объект класса Document.
- Соп соедините файлы XML и XSLT.
- Сохраните выходной PDF документ.
Фрагмент кода ниже объясняет, как преобразовать XML и XSLT в PDF на C#:
//Создайте PDF-документ
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Связать файлы XML и XSLT
try
{
pdf.BindXml("hello-world.xml", "hello-world.xslt");
}
catch (System.Exception)
{
throw;
}
//Сохраните документ
pdf.Save("HelloWorldXml.pdf");
Бесплатная лицензия на оценку
Вы можете запросить бесплатную временную лицензию , чтобы оценить все возможности API без каких-либо водяных знаков или ограничений.
Суммирование
В этом уроке вы узнали основы преобразования XML в PDF на C# вместе с примерами кода и образцами файлов. Это позволяет вам преобразовать ваши данные XML в визуально привлекательные и удобные для обмена PDF-документы. Независимо от того, разрабатываете ли вы инструменты отчетности, генерируете счета или создаете документацию, преобразование XML в PDF упростит процесс конвертации документов в ваших приложениях. В случае возникновения вопросов, пожалуйста, не стесняйтесь обращаться к нам в forum.