标签: postscript

在Scala中修改大文件

我试图修改Scala中的大型PostScript文件(有些大小只有1GB).该文件是一组批次,每批包含代表批号,页数等的代码.

我需要:

  1. 在文件中搜索批处理代码(始终以文件中的同一行开头)
  2. 计算下一批代码之前的页数
  3. 修改批次代码以包括每批中的页数.
  4. 将新文件保存在其他位置.

我当前的解决方案使用两个迭代器(iterAiterB),从中创建Source.fromFile("file.ps").getLines.第一个迭代器(iterA)遍历一个while循环到批处理代码的开头(iterB.next每次都被调用).iterB然后继续搜索,直到下一个批处理代码(或文件末尾),计算它经过的页面数量.然后,它更新批次代码iterA的位置,重复该过程.

这似乎非Scala-like,我仍然没有设计好将这些更改保存到新文件的方法.

解决这个问题的好方法是什么?我应该完全抛弃迭代器吗?我最好喜欢这样做而不必将整个输入或输出同时存入内存.

谢谢!

file-io iterator scala postscript scala-2.9

6
推荐指数
1
解决办法
941
查看次数

Ghostscript旋转页面

我使用Ghostscript将PDF文档转换为PCL进行打印.最近我还要求在打印前将所有页面旋转到Portrait.我已经找到了一种使用Ghostscript和以下命令和postscript函数的方法.

"C:\Program Files (x86)\gs\bin\gswin32c.exe" "-dNOPAUSE" "-dNOPROMPT" "-dBATCH" "-sDEVICE=pxlmono" "-Ic:\Program Files (x86)\gs\fonts\;c:\Program Files (x86)\gs\lib\;c:\Program Files (x86)\gs\lib\;" "-r300" "-sOutputFile=C:\EXPORTFILE_e542e04f-5e84-4c8e-9b41-55480cd5ec52.cache" "rotate612x792.ps" "C:\EXPORTFILE_3a5de9da-d9ca-4562-8cb6-10fb8715385a.cache"
Run Code Online (Sandbox Code Playgroud)

rotate612x792.ps的内容

%! Rotate Pages
<< /Policies << /PageSize 5 >> 
   /PageSize [612 792] 
   /InputAttributes currentpagedevice 
   /InputAttributes get mark exch {1 index /Priority eq not {pop << /PageSize [612 792] >>} if }  forall >>
   >> setpagedevice
Run Code Online (Sandbox Code Playgroud)

问题是此函数用字母大小替换所有页面大小.我的文件有时是合法的或A4.我试图修改此功能,以使用肖像对应物替换横向大小,但无法生成功能性的postscript.我需要指向正确的方向来生成以下伪代码的postscript等价物.

for(each page)
{
   if(PageSize == [792 612])
       PageSize = [612 792];
}
Run Code Online (Sandbox Code Playgroud)

我知道有非Ghostscript旋转页面的方法,但如果我能让它工作,它将很好地适应我的过程,不会降低性能.

以下是我的一个pdf文件的示例: Sample1.pdf

pdf postscript printer-control-language ghostscript

6
推荐指数
1
解决办法
7239
查看次数

任何好的后记绘图库?

我需要为我的LaTeX文档绘制一些图片,我发现手工制作的PostScript看起来很合适(我想以编程方式做事,需要数学函数等).我也试过TikZ,但这看起来过于复杂,难以使用.

但是,使用普通的标准PostScript有点痛苦,因为绘制形状实际上没有任何标准功能(例如甚至不是矩形).

是否有任何PostScript库包含常见形状的功能并使生活更轻松?在我看来这个问题应该是相当普遍的.

或者我应该跳过PostScript并转向一些优秀的系统?哪一个?

drawing postscript

5
推荐指数
1
解决办法
1853
查看次数

如何以指定的顺序将数千个PDF文件转换为单个Postscript文件

我发现了将多个PDF转换为几个PDF到Postscript的多个选项,但许多是具有命令行限制的命令行程序(此应用程序存在于.NET上).

我们的应用程序生成数万个需要发送到打印机的PDF,除非在打印Postscript之前我们需要编辑Postscript以插入打印命令说明(双面打印,托盘拉动,突出显示颜色等)

我认为一个完美的解决方案可能允许我们将PDF写入流,同时允许我们读取输出流,以便我们可以在将Postscript写入文件之前对其进行编辑.

当然,如果我必须首先创建包含所有10,000个PDF的文件并在另一个传递中编辑它,我也可以.

我应该提到速度很重要.我需要一次打印10,000张,但需要让打印机保持24小时/天的忙碌状态.

.net pdf postscript

5
推荐指数
1
解决办法
671
查看次数

Python/PDF创建使用ReportLab - 自制的网格打印带有图案但在屏幕上看起来很好

我正在尝试制作自己的网格(看起来非常像这样:http: //tinyurl.com/cdyre6k-以公制单位为毫米的心电图纸).

我正在使用ReportLab/Python(opensource)来制作这些报告.下面是我的代码片段.

在屏幕上,它看起来很棒!:

>我在屏幕上看到的内容<

然而,当我将它发送到打印机时(是的,我也用打印机设置修改)它会打印一些线条,而不是其他线条(有时它是有条不紊的并且打印出图案式格子图案,有时则是更粗/更细的线条;请记住,打印机的输出是一致的,取决于我设置的笔画宽度.

>我在打印机上看到的内容!<

我尝试了各种笔画宽度组合,以及各种打印机设置组合...我无法正确打印!我尝试了另一种打印机并获得了更好的结果,但我必须将打印机设置设置为超过1200 dpi(CAD级别打印).另一台打印机设置为600dpi.在那台相同的打印机(600dpi)上,我打印了一个由前同事制作的文件,打印就好了(请注意,他没有使用ReportLab,所以我不能使用他的代码/解决方案).

到底是怎么回事?这是打印机上的别名问题吗?如果我将网格转换为位图(或其他格式),它会对我有帮助吗?我该如何解决这个问题(我唯一的选择是使用Python和ReportLab)?ReportLab手册没有帮助,"谷歌"没有帮助,而以前的StackExchange问​​题似乎没有涵盖这一特定主题.如果我将笔画宽度设置为"1",我可以让网格打印所有行,但是后面的网格线太粗了.

最终结果是我正在处理的折线图,我知道ReportLab有图表功能,但reportlabs图表/网格功能不能给我我的项目所需,所以我被迫让我拥有主要/次要线的自己的网格(也许我错过了一些东西,并开放替代技术,但目前它看起来很好的PDF形式,只是不在打印机).

任何建议表示赞赏!

TIA,

-J

    for i in decimal_range(0, _time, 1):
        if (i % 5.0 == 0):
            if (i % 25.0 == 0):
                grid_pattern.add(shapes.Line(_temp_x, 
                                             (_temp_y + _height_of_box), 
                                             _temp_x,
                                             (_temp_y + _height_of_box+4),
                                             strokeWidth=1,
                                             strokeColor=colors.black))
            else:
                pass

            grid_pattern.add(shapes.Line(_temp_x, _temp_y, _temp_x,
                                         (_temp_y + _height_of_box),
                                         strokeWidth=.12,
                                         strokeColor=colors.pink))
        else:
            grid_pattern.add(shapes.Line(_temp_x, _temp_y, _temp_x,
                                         (_temp_y + _height_of_box),
                                         strokeWidth=.12,
                                         strokeColor=colors.pink))
        _temp_x += 1 * mm

    _temp_x = xorigin

    for i in range(0, _mv, 1):
        if (i …
Run Code Online (Sandbox Code Playgroud)

python printing pdf reportlab postscript

5
推荐指数
1
解决办法
1858
查看次数

如何修剪 Post 脚本中的空白

我每个月都有数百万个 Post Script 文件。每个文件有 4-5 页。除第1页外,每页内容很少。这样虽然文件内容不是太大,但是却造成了不必要的纸张浪费。

我正在寻找一些工具,可以将第 2 页压缩到最后一页或修剪未使用的空白区域,以便最佳地利用纸张。

我得到了具有 PSNUP 命令的 PSUTILS,但它也没有完全满足我的解决方案。

任何有想法的人都可以帮助解决这个问题。

我的示例 Post 脚本文件可以从以下位置下载

https://www.dropbox.com/s/2z9oirsvxzf13di/1010472622.ps

以上是一个三页的 Post 脚本文件。页码 2 和 3 可以组合在一起以实现最佳纸张使用。

请详细指导

问候 code.box@rediffmail.com

postscript

5
推荐指数
1
解决办法
1437
查看次数

Bezier Patches如何在犹他州茶壶中工作?

我过早地发布了一个代码高尔夫挑战来使用这个数据集(只是茶壶)绘制犹他茶壶.(经过修订和发布的茶壶挑战)但是当我深入研究数据以便掀起一个小例子时,我意识到我不知道这些数据是怎么回事.我对2D中的Bezier曲线有很好的理解,实现了deCasteljau.但对于3D它的工作原理是否相同?

是! 它确实!

数据包含每个包含16个顶点的补丁.这些是如何布局的标准顺序?如果它们对应于2D曲线,则四个角点实际接触表面,其余12个是控制,对吧?

是!

我的"原始计划"是将形状简化为矩形,将它们投影到画布上,然后绘制灰色的填充形状,通过与光矢量垂直的贴片的点积计算.如果我将它简化到那么远,它甚至会看起来像茶壶吗?是否必须使用光线追踪来获得可识别的图像?

这是主观的.:-(

虽然这可能看起来像几个问题,但它们都是这一个问题的所有方面:"请,请好的Guru,在一些Bezier Patches上学习我?我需要知道什么才能画出茶壶?"


这是我到目前为止编写的代码.(使用此矩阵库:mat.ps)

%!
%%BoundingBox: 115 243 493 487
%-115 -243 translate

(mat.ps)run  %include matrix library

/tok{ token pop exch pop }def
/s{(,){search{ tok 3 1 roll }{ tok exit }ifelse }loop }def
/f(teapot)(r)file def
/patch[ f token pop { [ f 100 string readline pop s ] } repeat ]def
/vert[ f token pop { [ f 100 string readline pop s …
Run Code Online (Sandbox Code Playgroud)

3d graphics bezier postscript bspline

5
推荐指数
1
解决办法
2472
查看次数

提升精神可以处理类似语言的Postscript/PDF吗?

我注意到Boost精神提供了一些限制,在这里的一个问题上有一个用户请求有关提升精神的帮助,另一个用户给出了答案指定,提升精神适用于语句而不是"通用文本"(I对不起,如果我没记错的话.

现在我想用令牌来考虑Postscript和PDF,并以这种方式简化我对这种格式的处理方式,问题在于PDF是标记语言和编程语言之间的混合,其中包含跳转和表格,在考虑最流行的文件格式(如XML,C++代码和其他语言和格式)时,我无法想到类似的东西.

还有另外一个事实:我真的找不到那些在使用boost :: spirit wiriting pdf解析器或编写器方面有经验的人,所以我问,boost :: spirit它能够解析PDF文件和输出作为代币的元素?

pdf parsing postscript boost-spirit lexer

5
推荐指数
1
解决办法
603
查看次数

修改现有PDF以添加"NNN页面N"页脚

如何pdftk从命令行(或最好从Ruby)使用页面编号添加到预先存在的PDF的底部?

我正在寻找这种格式:

  • 第1页,共2页

  • 第2页,共2页

printing pdf postscript ghostscript pdftk

5
推荐指数
1
解决办法
1382
查看次数

Python Tkinter Canvas产生损坏的后记文件

我有一个Tkinter画布,上面有服务器矩形,文本和线对象。

我用

.postscript(file='file.ps') 
Run Code Online (Sandbox Code Playgroud)

画布的方法。

当我尝试在Windows和Linux上使用ghostscript打开文件时,出现以下错误:

error: undefinedresult in stringwidth
Run Code Online (Sandbox Code Playgroud)

您对此有什么解决方案?

谢谢!

编辑:我正在使用python2

python canvas tkinter postscript

5
推荐指数
1
解决办法
280
查看次数