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);
}