XSL + XML -> PDF для C#

Я знаю, что несколько человек задавали подобные вопросы, но ни один ответ не помог решить мою проблему.

Ну у меня есть xsl а также xml и хочу генерировать pdf с процессором, как Apache.FOP. Я не могу использовать любой JAVA такие программы Просто умею использовать библиотеки C# / exe.

Я пытался использовать nFop:

  • Версия 1.x использует Java.io и..
  • Версия 2.0 не имеет возможности установить XsltSettings

Мое текущее ПО использует XSL + XML -> HTML (используя стандарт Stystm.Xml.Xsl на C#) и wktmltopdf чтобы генерировать PDF из созданного HTML, Но таблицы разбиваются, когда они слишком длинны для страницы, и на следующей странице у вас нет заголовков столбцов (это очень важно для моей проблемы).

Я думаю, что нет свободного FO-процессора для чистого C

1 ответ

Посмотрите на FoNET.

public static bool XMLToPDF(string pXmlFile, string pXslFile, string pFoFile, string pPdfFile)
{
    string lBaseDir = System.IO.Path.GetDirectoryName(pXslFile);
    XslCompiledTransform lXslt = new XslCompiledTransform();
    lXslt.Load(pXslFile);
    lXslt.Transform(pXmlFile, pFoFile);
    FileStream lFileInputStreamFo = new FileStream(pFoFile, FileMode.Open);
    FileStream lFileOutputStreamPDF = new FileStream(pPdfFile, FileMode.Create);
    FonetDriver lDriver = FonetDriver.Make();
    lDriver.BaseDirectory = new DirectoryInfo(lBaseDir);
    lDriver.CloseOnExit = true;
    lDriver.Render(lFileInputStreamFo, lFileOutputStreamPDF);
    lFileInputStreamFo.Close();
    lFileOutputStreamPDF.Close();
    return System.IO.File.Exists(pPdfFile);
}
Другие вопросы по тегам