XML у PDF

У цій статті ми будемо перетворювати файли XML у PDF на C#. Бібліотека Aspose.PDF for .NET широко підтримує функцію перетворення XML завдяки включенню багатьох пов’язаних удосконалень за запитом користувачів. Ви можете вдосконалити свої програми .NET за допомогою цієї ефективної функції експорту XML у PDF. Крім того, добре те, що ви можете виконати безкоштовне перетворення XML у PDF.

Розглянемо наступні випадки використання, пов’язані з перетворенням XML у PDF:

Бібліотека C# PDF

Спочатку встановіть бібліотеку конвертера XML у PDF за допомогою такої команди NPM.

PM> Install-Package Aspose.PDF

Як конвертувати XML у PDF на C#

Для перетворення XML у PDF вам потрібно дотримуватися XML-схеми Aspose.PDF for .NET API, яка доступна як файл XSD. Нижче наведено XML-файл, який ми будемо перетворювати на PDF як демонстрацію Hello World.

<?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:

  1. Ініціалізація об’єкта класу Document.
  2. Завантажте файл XML за допомогою методу BindXml.
  3. Збережіть перетворений файл PDF

У наведеному нижче фрагменті коду показано, як конвертувати XML у PDF на C#:

// Створення екземпляра об'єкта документа
Document doc = new Document();
// Прив’язати вихідний файл XML
doc.BindXml(dataDir + "XML.xml");
// Перетворення XML на PDF
doc.Save(dataDir + "XMLToPDF.pdf");

C# XML у PDF за допомогою HTML

Іноді вам може знадобитися використовувати HTML у XML перед перетворенням у HTML. Aspose.PDF for .NET API також підтримує цю функцію. Однак теги HTML і XML досить схожі. Тому вам потрібно вказати тег CDATA, щоб HTML не аналізувався як розмітка XML. Нижче наведено зразок XML-файлу, який містить HTML, позначений CDATA, щоб уникнути будь-якої аномалії:

<?xml version="1.0" encoding="utf-8" ?>
<Document xmlns="Aspose.Pdf">
  <Page id="mainSection">
    <HtmlFragment>
      <![CDATA[
        <font style="font-family:Tahoma; font-size:40px;">This is Html String.</font>
        ]]>
    </HtmlFragment>
  </Page>
</Document>

Ви можете конвертувати цей XML-файл у PDF, виконавши такі дії:

  1. Створити екземпляр об’єкта класу Document.
  2. Завантажте вхідний файл XML
  3. Збережіть вихідний файл PDF

Наведений нижче фрагмент коду показує, як перетворити XML-файл, що містить HTML, у PDF на C#:

// Створення екземпляра об'єкта документа
Document doc = new Document();
// Прив’язати вихідний файл XML
doc.BindXml(dataDir + "XML.xml");
// Перетворення XML на PDF
doc.Save(dataDir + "XMLToPDF.pdf");

Експорт XML і XSLT у PDF на C#

Іноді у вас може бути існуючий XML-файл, який містить важливі дані програми, і ви хочете створити PDF-звіти за допомогою цього XML-файлу. У таких сценаріях ви можете створити файл XSLT, щоб перетворити наявний XML-документ у сумісний XML-документ Aspose.PDF. Потім ви можете продовжити конвертацію XML у PDF. Давайте дізнаємося це на простих і базових прикладах:

<?xml version="1.0" encoding="utf-8" ?>
<Contents>
  <Content>Hello World!</Content>
</Contents>
<?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 не відповідає схемі XML Aspose.PDF for .NET API. Однак файл XSLT перетворює його на необхідну сумісність. Тепер ви можете виконати наведені нижче дії, щоб перетворити такий XML за допомогою XSLT у PDF:

  1. Ініціалізувати PDF Документ
  2. Bind Файл XML і XSLT
  3. Збережіть вихідний PDF-документ

Наведений нижче фрагмент коду базується на цих кроках, які показують, як конвертувати XML у PDF у C#:

//Створити pdf документ
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//Прив’яжіть файли XML і XSLT до документа
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//Збережіть документ
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Безкоштовний конвертер C# XML у PDF

Ви можете отримати безкоштовну тимчасову ліцензію і конвертувати дані XML у формат PDF без будь-яких обмежень.

Висновок

Ми навчилися перетворювати XML у файл PDF на C# за умови, що XML відповідає згаданій схемі API. Беручи до уваги популярність і зручність використання тегів HTML, ми також розглянули сценарій, коли вам потрібно включити деякий HTML у вихідний файл XML. Крім того, ми також дослідили, як конвертувати XML і XSLT у PDF, якщо наявний файл XML не відповідає схемі.

Дивись також