XML을 PDF로

이 기사에서는 C#을 사용하여 XML 파일을 PDF로 변환합니다. Aspose.PDF for .NET API 사용자의 요청에 따라 관련 개선 사항이 많이 포함되어 있기 때문에 API는 XML 변환 기능을 광범위하게 지원합니다. XML을 PDF로 내보내는 이 효율적인 기능으로 .NET 응용 프로그램을 향상시킬 수 있습니다. C#에서 XML을 PDF로 변환하는 것과 관련된 다음 사용 사례를 고려해 보겠습니다.

C#에서 XML을 PDF로 변환

XML을 PDF로 변환하려면 XSD 파일로 제공되는 Aspose.PDF for .NET API의 XML 스키마를 따라야 합니다. 다음은 Hello World 데모로 PDF로 변환할 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 파일로 변환하려면 아래 단계를 따라야 합니다.

  1. Document 클래스의 객체 초기화
  2. BindXml 메서드로 XML 파일 로드
  3. 변환된 PDF 파일 저장

다음 코드 조각은 C#에서 XML을 PDF로 변환하는 방법을 보여줍니다.

// 문서 객체 인스턴스화
Document doc = new Document();
// 소스 XML 파일 바인딩
doc.BindXml(dataDir + "XML.xml");
// XML을 PDF로 변환
doc.Save(dataDir + "XMLToPDF.pdf");

C# XML에서 HTML 사용 및 PDF로 변환

때로는 HTML로 변환하기 전에 XML에서 HTML을 사용해야 할 수도 있습니다. Aspose.PDF for .NET API도 이 기능을 지원합니다. 그러나 HTML과 XML 태그는 매우 유사합니다. 따라서 HTML이 XML 마크업으로 구문 분석되지 않도록 CDATA 태그를 지정해야 합니다. 아래 샘플 XML 파일에는 이상을 방지하기 위해 CDATA로 표시된 HTML이 포함되어 있습니다.

<?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 파일 저장

아래 코드 조각은 HTML이 포함된 XML 파일을 C#에서 PDF로 변환하는 방법을 보여줍니다.

// 문서 객체 인스턴스화
Document doc = new Document();
// 소스 XML 파일 바인딩
doc.BindXml(dataDir + "XML.xml");
// XML을 PDF로 변환
doc.Save(dataDir + "XMLToPDF.pdf");

C#에서 XML 및 XSLT를 PDF로 변환

중요한 응용 프로그램 데이터가 포함된 기존 XML 파일이 있고 해당 XML 파일을 사용하여 PDF 보고서를 생성하려는 경우가 있습니다. 이러한 시나리오에서 XSLT 파일을 만들어 기존 XML 문서를 Aspose.PDF의 호환 가능한 XML 문서로 변환할 수 있습니다. 그런 다음 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 파일이 .NET API용 Aspose.PDF의 XML 스키마를 따르지 않음을 알 수 있습니다. 그러나 XSLT 파일은 이를 필수 호환성으로 변환합니다. 이제 아래 단계에 따라 XSLT를 사용하여 이러한 XML을 PDF로 변환할 수 있습니다.

  1. PDF 초기화 문서
  2. 바인드 XML 및 XSLT 파일
  3. 출력 PDF 문서 저장

아래 코드 조각은 C#에서 XML을 PDF로 변환하는 방법을 보여주는 다음 단계를 기반으로 합니다.

//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");

결론

XML이 언급된 API 스키마를 따르는 경우 C#에서 XML을 PDF 파일로 변환하는 방법을 배웠습니다. HTML 태그의 인기와 사용성을 고려하여 소스 XML 파일에 일부 HTML을 포함해야 하는 시나리오도 고려했습니다. 또한 기존 XML 파일이 스키마를 따르지 않을 때 XML과 XSLT를 PDF로 변환하는 방법도 살펴보았다.

또한보십시오