Мне нужно создать вывод PostScript из нашей системы. Наша система создает сильно отформатированные документы в различных форматах, и мне нужно добавить .ps в качестве дополнительного формата.
Одна странность: весь наш код написан на Java, и мы используем IKVM для .net-версии нашей библиотеки. У нас есть около 5% кода, написанного на C#, а остальное — это Java, преобразованная с помощью IKVM.
Я создаю файлы .ps на стороне Java, используя библиотеку, которая позволяет мне писать в объект Graphics2D, который она предоставляет. К сожалению, в .NET (через IKVM) это ужасно медленно.
Итак, чтобы решить эту проблему, я думаю:
- Go into the IKVM code and see if I can speed this up. It makes no
sense that it is so slow.
- Advantage, if it works it’s probably the fastest resolution. And now future Graphics2D libraries can be used.
- Недостаток, если я не могу, я теряю время. Кроме того, в будущем у нас будет собственный филиал IKVM.
- Investigate oreasoft – if that
works, use that with a PostScriptBuilder
- Advantage, this should be pretty fast and fully & correctly handle .ps.
- Недостаток, это решает проблему только для .ps. Также 5 тысяч в год за формат, в котором мы можем не получить много продаж.
- В этом случае я бы сделал GraphicsBuilder для вывода растровых изображений и .wmf — это было бы быстро и легко.
- Create a .net Graphics object based library for .ps. And then just like the
Graphics2DOutputBuilder in Java, create a GraphicsOutputBuilder in .net
- Advantage, this is the cleanest correct-est way to do this. And we can easily add bitmap & .emf output this way (they have a Graphic object way to write to them).
- Недостатком является то, что это существенная работа, и у нас могут возникнуть небольшие проблемы, поскольку мы изучаем все детали PostScript.
- Rewrite the Apache xml-graphics library to use .net calls instead of Java calls for the code in it.
- Advantage, this is probably a bit less work than the Graphics approach.
- Недостаток в том, что когда мы закончим, у нас будет это, но любые будущие форматы, такие как SVG, нам также придется полностью переписывать.
Я ценю любые отзывы о решении этой проблемы.