通過C++轉換 XML

如何使用 C++ 庫轉換 XML 並載入到 PDF 中

如何使用 C++ 庫轉換 XML

為了將XML轉換為PDF,我們將使用[Aspose.PDF for C++](https://products.aspose.com/pdf/cpp)API,這是一個功能豐富,功能強大且易於使用的文檔操作API,適用於 cpp 平臺。打開 [NuGet](https://www.nuget.org/packages/aspose.pdf) 包管理器,搜索“.PDF”並安裝。您也可以從程式包管理器主控台使用以下命令。

Package Manager Console

PM > Install-Package Aspose.PDF.Cpp

轉換 XML 並通過C++載入到 PDF 中


您需要為[Aspose.PDF for C++](https://releases.aspose.com/pdf/cpp) 才能在您的環境中嘗試代碼。

  1. 設定頁面參數。
  2. 上傳 XSLT 檔。
  3. 然後載入並轉換。

將 XML 轉換為 PDF - C++

<% transform-xml.code-block.subtitle %>


    void WorkingWithXML::ExampleXSLTtoPDF()
    {
    String _dataDir("C:\\Samples\\");

    auto XmlContent = System::IO::File::ReadAllText(u"XMLFile1.xml");
    auto XsltContent = System::IO::File::ReadAllText(u"XSLTFile1.xslt");

    auto options = MakeObject<Aspose::Pdf::HtmlLoadOptions>();
    // set page size to A5
    options->get_PageInfo()->set_Height(595);
    options->get_PageInfo()->set_Width(420);
    auto pdfDocument = MakeObject<Aspose::Pdf::Document>(TransformXmltoHtml(XmlContent, XsltContent), options);
    pdfDocument->Save(_dataDir + u"data_xml.pdf");
    }

    System::SharedPtr<System::IO::MemoryStream> TransformXmltoHtml(String inputXml, String xsltString)
    {
    auto transform = MakeObject<System::Xml::Xsl::XslCompiledTransform>();

    auto reader = System::Xml::XmlReader::Create(MakeObject<System::IO::StringReader>(xsltString));
    transform->Load(reader);

    auto memoryStream = MakeObject<System::IO::MemoryStream>();
    auto results = System::Xml::XmlWriter::Create(memoryStream);

    auto reader2 = System::Xml::XmlReader::Create(MakeObject<System::IO::StringReader>(inputXml));

    transform->Transform(reader2,nullptr,results);

    memoryStream->set_Position (0);
    return memoryStream;
    }