使用C#以Postscript格式创建文档

时间:2010-12-08 05:06:49

标签: c# pdf pdf-generation postscript

是否有可用C#直接写入postscript格式的API?我目前正在使用pdfnet将文档写入pdf,然后使用adobe将其导出到postscript。但是,在转换过程中质量正在丢失,我需要直接转到postscript并跳过创建pdf。

该文档包含一个覆盖在其上的文本的图像。

3 个答案:

答案 0 :(得分:1)

您可能想尝试不同的解决方案来转换PDF。例如,Ghostscript将允许您指定分辨率等。此外,如果最终目的地是打印,打印机现在可以支持直接PDF打印,这可能有助于解决问题。

答案 1 :(得分:1)

你知道如何在C#中使用文件,对吗?一个非常简单的方法就是让你的程序创建一个新的ofstream或C#调用它,命名为whatever.ps,然后只是将字符串附加到文件中。它真的很容易学习,虽然我建议实际获得Postscript语言参考手册的打印副本,如果你打算那样做。即使您可以免费获得电子版,但除非您有多台显示器,否则它实际上没有打印副本那么有用。

例如,要在C ++中绘制一个以肖像为导向的信纸尺寸纸张中间的1“方形,我会做类似的事情:

myFile << "%!PS-Adobe-2.0 \n" //header block
       << "%%Creator: INSERT YOUR NAME HERE \n"
       << "%%Title: FILENAME.ps \n"
       << "%%Pages: 1 \n"
       << "%%PageOrder: Ascend \n"
       << "%%BoundingBox: 0 0 612 792 \n"
       << "%%DocumentPaperSizes: Letter \n"
       << "%%EndComments \n"

myFile << "<< /PageSize [612 792] >> setpagedevice \n" //page setup
       << "396 306 translate \n" //set (0,0) to center of page

myFile << "-36 -36 72 72 rectfill \n" //the rectangle at last!

但是,您需要将其翻译成您正在使用的任何语言。此外,为了更具可读性,您可以将标头块放入其自己的功能中。实际上,除了标题块之外,您甚至不需要在每个字符串末尾添加换行符。

答案 2 :(得分:0)

开罗图形 - http://www.cairographics.org/似乎是一种可能的选择。它绑定了C#/ .NET和MONO。