是否有可用于使用 C# 直接写入 postscript 格式的 API?我目前正在使用 pdfnet 将文档写入 pdf,然后使用 adobe 将其导出到 postscript。但是,在转换过程中会丢失质量,我需要直接转到 postscript 并跳过创建 pdf。
该文档包含一个图像,上面覆盖了一些文本。
是否有可用于使用 C# 直接写入 postscript 格式的 API?我目前正在使用 pdfnet 将文档写入 pdf,然后使用 adobe 将其导出到 postscript。但是,在转换过程中会丢失质量,我需要直接转到 postscript 并跳过创建 pdf。
该文档包含一个图像,上面覆盖了一些文本。
你知道如何在 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!
不过,您需要将其翻译成您使用的任何语言。此外,为了更具可读性,您可以将标头块放入其自己的函数中。实际上,您甚至不需要在每个字符串的末尾添加换行符,除了在标题块中。
您可能想尝试不同的解决方案来转换 PDF。 例如,Ghostscript将允许您指定分辨率等。此外,如果最终目的地是打印,那么打印机现在可能支持直接 PDF 打印,这可能有助于解决问题。
Cairo Graphics - http://www.cairographics.org/似乎是一个可能的选择。它绑定到 C#/.NET 和 MONO。