Я пробовал подход, предложенный ClayB, без каких-либо успехов.
Я использовал комбинации IKVM 0.44 и 0.46 с FOP 0.95 и 1.0. Но ничего не получилось! Есть некоторые java-библиотеки, которые отсутствуют и вызывают ошибки. Также произошло исключение .net: невозможно загрузить тип в пространстве имен System.Security. Я даже попытался скомпилировать каждый файл .jar в dll, как предложил Авик Сенгупта в http://onjava.com/pub/a/onjava/2004/08/18/ikvm.html, но застрял в lib \ batik-all-1.7.jar. Если у кого-нибудь не будет никаких дополнительных рабочих мест, я убежден, что этот подход больше не работает с последними наборами.
Однако я нашел другой подход, который позволяет называть FOP из .net. Я надеюсь, что это поможет кому-то:
try {
ProcessStartInfo p = new ProcessStartInfo(fopPath + "fop.bat");
p.Arguments = String.Format("{0} {1}", foFilePath, pdfFilePath);
p.WindowStyle = ProcessWindowStyle.Hidden;
p.WorkingDirectory = fopPath;
Process proc = new System.Diagnostics.Process();
proc.StartInfo = p;
proc.Start();
proc.WaitForExit();
}
catch() {
}
Пожалуйста, прочитайте оригинальную статью по адресу: http://www.ptperalta.net/index.php/technology/using-apache-fop-in-net.html
Вы попробовали http://fonet.codeplex.com/ вместо этого? –
см. Также: http://stackoverflow.com/questions/1099485/generating-pdf-in-net-using-xsl-fo –
В настоящее время мы используем nFop, но хотим перейти на ApacheFOP v1.0, чтобы использовать 508 удобства для инвалидов. – ClayB