XML'den PDF'ye

Bu yazıda, C# kullanarak XML dosyalarını PDF’ye dönüştüreceğiz. Aspose.PDF for .NET API kullanıcıları tarafından talep edildiği üzere, birçok ilgili geliştirmenin dahil edilmesi nedeniyle API, XML dönüştürme özelliğini kapsamlı bir şekilde destekler. XML’i PDF’ye dışa aktarmanın bu verimli özelliği ile .NET uygulamalarınızı yükseltebilirsiniz. C# dilinde XML’den PDF’e dönüştürmeyle ilgili aşağıdaki kullanım örneklerini ele alalım:

C# ile XML’i PDF’ye dönüştürme

Bir XML’i PDF’ye dönüştürmek için, XSD dosyası olarak mevcut olan Aspose.PDF for .NET API’sinin XML Şemasını izlemeniz gerekir. Aşağıda, Hello World gösterimi olarak PDF’ye dönüştüreceğimiz bir XML dosyası bulunmaktadır.

<?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’i PDF dosyasına dönüştürmek için aşağıdaki adımları izlemeniz gerekir:

  1. Document Sınıfının bir nesnesini başlat
  2. BindXml yöntemiyle XML dosyası yükleyin
  3. Dönüştürülen PDF dosyasını kaydedin

Aşağıdaki kod parçacığı, XML’in C# dilinde PDF’ye nasıl dönüştürüleceğini gösterir:

// Belge nesnesini örneklendir
Document doc = new Document();
// Bağlama kaynağı XML dosyası
doc.BindXml(dataDir + "XML.xml");
// XML'i PDF'ye dönüştür
doc.Save(dataDir + "XMLToPDF.pdf");

C# HTML’yi XML’de Kullanın ve PDF’ye Dönüştürün

Bazen HTML’ye dönüştürmeden önce XML’de HTML kullanmanız gerekebilir. Aspose.PDF for .NET API bu özelliği de destekler. Ancak, HTML ve XML etiketleri oldukça benzerdir. Bu nedenle, HTML’nin XML biçimlendirmesi olarak ayrıştırılmaması için CDATA etiketini belirtmeniz gerekir. Aşağıdaki örnek XML dosyası, herhangi bir anormalliği önlemek için CDATA tarafından belirtilen HTML’yi içerir:

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

Bu XML dosyasını aşağıdaki adımlarla PDF’e dönüştürebilirsiniz:

  1. Document sınıf nesnesini somutlaştırın
  2. Giriş XML dosyasını yükleyin
  3. Çıktı PDF dosyasını kaydedin

Aşağıdaki kod parçacığı, HTML içeren bir XML dosyasının C# dilinde PDF’ye nasıl dönüştürüleceğini gösterir:

// Belge nesnesini örneklendir
Document doc = new Document();
// Bağlama kaynağı XML dosyası
doc.BindXml(dataDir + "XML.xml");
// XML'i PDF'ye dönüştür
doc.Save(dataDir + "XMLToPDF.pdf");

XML ve XSLT’yi C# dilinde PDF’ye dönüştürün

Bazen önemli uygulama verileri içeren mevcut bir XML dosyanız olabilir ve bu XML dosyasını kullanarak PDF raporları oluşturmak isteyebilirsiniz. Bu tür senaryolarda, mevcut XML belgenizi Aspose.PDF’nin uyumlu XML belgesine dönüştürmek için XSLT dosyası oluşturabilirsiniz. Ardından XML’i PDF’ye dönüştürmeye devam edebilirsiniz. Bunu basit ve basit bir örnekle öğrenelim:

<?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 dosyasının Aspose.PDF for .NET API’sinin XML şemasını takip etmediğini fark edebilirsiniz. Ancak, XSLT dosyası onu gerekli uyumluluğa dönüştürür. Artık XSLT kullanarak bu tür XML’leri PDF’ye dönüştürmek için aşağıdaki adımları takip edebilirsiniz:

  1. PDF’yi Başlat Belge
  2. Bağlama XML ve XSLT dosyası
  3. Çıktı PDF belgesini kaydedin

Aşağıdaki kod parçacığı, XML’in C# dilinde PDF’ye nasıl dönüştürüleceğini gösteren şu adımlara dayanmaktadır:

//pdf belgesi oluştur
Aspose.Pdf.Document pdf = new Aspose.Pdf.Document();
//XML ve XSLT dosyalarını belgeye bağlama
try
{
    pdf.BindXml(dataDir + "\\HelloWorld.xml", dataDir + "\\HelloWorld.xslt");
}
catch (System.Exception)
{

    throw;
}
            
//belgeyi kaydet
 pdf.Save(dataDir + "HelloWorldUsingXmlAndXslt.pdf");

Çözüm

XML’in belirtilen API şemasını takip etmesi koşuluyla C# dilinde XML’i PDF dosyasına nasıl dönüştüreceğimizi öğrendik. HTML etiketlerinin popülaritesini ve kullanılabilirliğini göz önünde bulundurarak, kaynak XML dosyasına biraz HTML eklemeniz gereken senaryoyu da değerlendirdik. Ayrıca, mevcut XML dosyası şemaya uymadığında XML ve XSLT’nin PDF’ye nasıl dönüştürüleceğini de araştırdık.

Ayrıca bakınız