标签: ghostscript

如何将两个postscript文件合并在一起?

我试图将两个或多个postscript文件合并为一个.我尝试连接但它不起作用,因为每个postscript文件可能有不同的资源标头.

以前有人这样做过吗?那里有没有图书馆(商业或开源)?我不介意C++,C#甚至Java库.

编辑 这些是大型的postscript文件(超过200 Mb),其目的仅用于彩色打印(不适用于在线查看).

结论

  1. ps2write不是答案,因为它不支持DSC.
  2. pswrite作为读者pipitas已正确指出产生L1输出.这不是解决方案.
  3. 使用pdfwrite是可行的.在此选项中,我们将两个ps转换为PDF,然后将合并的PDF转换为ps.此解决方案可能存在问题,因为在转换过程中可能会丢失一些信息.除了额外的转换步骤,还需要额外的资源和时间.
  4. 如果我们不需要查看输出文件,将两个postscript文件连接在一起,并在文件之间插入以下行"false 0 startjob pop"也是一种解决方案.(另见此链接)

总之,合并两个postscript文件的临时解决方案是选项3或4.

postscript ghostscript

7
推荐指数
1
解决办法
3万
查看次数

ImageMagick或GhostScript:将多页TIFF转换为多页PDF

我需要将多页TIFF转换为多页PDF.我可以访问ImageMagick和GhostScript(在*nix环境中).我该怎么做呢?谢谢.

更新:

事实证明我的测试文件是错误的(它没有多个页面),这让我觉得我的命令错了.这似乎对我有用:convert input.tif output.pdf

pdf tiff imagemagick ghostscript

7
推荐指数
2
解决办法
2万
查看次数

将PDF与GhostScript结合使用:使用带有更正页码的原始书签

我在用

gs -dBATCH -dNOPAUSE -sDEVICE=pdfwrite -sOutputFile=book.pdf  -f front-matter.pdf fulltext-0.pdf fulltext-1.pdf back-matter.pdf
Run Code Online (Sandbox Code Playgroud)

从一系列pdf文档创建单个PDF文档.我打算包含一个新的内容表,并使用pdfmark机制包含它.然后我注意到原始文件中已经有书签 - 但它们是引用原始页码而不是组合文档中的页码.

我正在寻找两种可能的解决方案.删除原始书签或使用原始书签,但以某种方式更新其页面引用...

pdf pdf-generation ghostscript

7
推荐指数
1
解决办法
4493
查看次数

如何在ghostscript中将svg转换为eps

你能帮我一个命令将svg文件转换为ghostscript中的eps吗?我试图在Gimp中打开svg文件,但它非常大,所以看起来gimp无法打开它或者它需要太长时间.我有两个要转换的文件.

注意:我已经完成了从png到svg的转换,将光栅转换为矢量,转换占用了我的大部分系统磁盘空间(大约2GB).有没有可能使用外部缓存驱动器的命令?

svg ghostscript eps

7
推荐指数
1
解决办法
1万
查看次数

删除使用pdfTk创建的pdf中的多个嵌入字体

有没有办法从pdf文件中删除多次嵌入的字体?

这是我的情景:

1)程序生成几个单页pdf报告(查询数据库,将信息放在Excel模板上并以pdf格式导出格式化信息)

2)pdftk将单页pdf合并到一个文件中.

一切正常,但结果pdf的大小非常大:事实上,我注意到字体嵌入了多次(与页面的数量一样多的时间:所有页面都是从同一个excel模板开始生成的,字体嵌入在单个pdf文件中,pdftk只是粘贴pdf).有没有办法只记录每个嵌入字体的一个副本?

我尝试在从excel-> pdf导出时将字体嵌入到第一页中:文件的大小显着减小,但似乎其他页面无法访问嵌入字体.

谢谢,亚历山德罗

pdf excel ghostscript embedded-fonts pdftk

7
推荐指数
1
解决办法
5827
查看次数

使用ghostscript处理(重新映射)PDF中的缺失/有问题(CID/CJK)字体?

简而言之,我正在处理一个有问题的PDF,其中:

  • evince由于缺少字体信息,无法在文档查看器中完全呈现;
  • 但是 - ghostscript可以完全呈现​​相同的PDF.

因此 - 无论ghostscript填写空白的用途(可能是后备字形,或访问字体的不同方法) - 我希望能够ghostscript用来生成("提取")输出PDF,其中几乎除了添加的字体信息之外,什么都不会改变,因此evince可以以相同的方式呈现相同的文档ghostscript.

因此,我的问题是 - 这是否可行; 如果是这样,那么命令行会是什么样的呢?

非常感谢任何答案,
干杯!


细节:

我实际上是在一个较旧的Ubuntu 10.04,我可能正在经历 - 不是一个错误 - 但安装问题evince(缺少poppler-data包),如Bug#386008中所述"由于"未知的字体标记,某些字体无法显示. ..:"Bugs:"poppler"包:Ubuntu.

但是,这正是我想要处理的内容,因此我将使用fontspec.pdf附加到该帖子(" PDF触发错误. ",//v.)来演示问题.

evince

首先,我打开这个pdf的第3页evince; 并evince抱怨:

$ evince --page-label=3 fontspec.pdf

Error: Missing language pack for 'Adobe-Japan1' mapping
Error: Unknown font tag 'F5.1'
Error (7597): No font …
Run Code Online (Sandbox Code Playgroud)

pdf fonts ghostscript

7
推荐指数
1
解决办法
7869
查看次数

什么是PostScript词典,以及如何访问它们(通过Ghostscript)?

我通常将其ghostscript视为命令行工具; 然而,我从不停止对那里存在的大量设置和选项感到惊讶 - 这是因为这ghostscript是一个完整的PostScript语言解释器(我经常忘记).

例如,在查询Ghostscript中输出设备的默认选项/设置(例如'pdfwrite'或'tiffg4') ; 一个人学习如何检索给定输出设备的默认选项.但是,我想知道的是 - 这些选项是否与所谓的PostScript词典相关?

或者,换句话说 - 什么是PostScript词典; 什么设施ghostscript有,查询(并可能)修改这些数据?

stack dictionary postscript ghostscript

7
推荐指数
3
解决办法
6406
查看次数

在我的WPF应用程序中复制gsdll32.dll以使PDF到图像转换器工作的位置?

我的项目给出错误..

*无法在DLL"gsdll32.dll"中找到名为"gsapi_new_instance"的入口点.*

尝试使用Ghost-script Interpreter dll'gsdll32.dll'将.pdf转换为图像格式时

即使我尝试将这个dll复制到所有想要的地方,就像在许多论坛中所说的那样

Win\System32或在项目的目录..错误保持不变.. :(

我使用了Ghost-script给出的PDFConvert.cs类,并在我的转换按钮上编写了以下代码:

private void btnConvert_Click(object sender, RoutedEventArgs e)
{
  //First We Check whether the Dll is present

    if (!File.Exists(AppDomain.CurrentDomain.BaseDirectory + "\\gsdll32.dll"))
    {
        MessageBox.Show("The library 'gsdll32.dll' required to run this program is not present! download GhostScript and copy \"gsdll32.dll\" to this program directory");
        return;
    }
    if (string.IsNullOrEmpty(txtSingleFile.Text))
    {
        MessageBox.Show("Enter the File name");
        txtSingleFile.Focus();
        return;
    }
    else if (!File.Exists(txtSingleFile.Text))
    {
        MessageBox.Show("The File Does not exists");
        txtSingleFile.Focus();
    }

    else
        ConvertPdfToImage(txtSingleFile.Text);
}
Run Code Online (Sandbox Code Playgroud)

和我的ConvertPdfToImage方法如下:

//The Ghost-Script Class Object …
Run Code Online (Sandbox Code Playgroud)

c# wpf ghostscript ghostscriptsharp

7
推荐指数
1
解决办法
2万
查看次数

使用ImageMagick将多页PDF合并为一个PDF

我正在尝试使用ImageMagick(6.8.0)将多个多页PDF组合成一个PDF.这个命令:

$ convert multi-page-1.pdf multi-page-2.pdf merged.pdf
Run Code Online (Sandbox Code Playgroud)

返回merged.pdf,其中包含第一多页次数1.pdf和页面第一多页2.pdf的页面.

这个命令:

$ convert multi-page-1.pdf[2] multi-page-2.pdf[2] merged.pdf
Run Code Online (Sandbox Code Playgroud)

返回merged.pdf,其中包含了第三多页次数1.pdf和页面第三多页的页面- 2.pdf.

我想merged.pdf包含每个多页pdf的所有页面.到目前为止,我还没有找到一种方法来告诉convert命令使用一系列页面,尽管我已经尝试在文件名的末尾添加[0-1]和[0,1].

有趣的是,这个ghostscript命令(我通过StackOverflow找到但无法重新找到)确实可以正常工作:

$ gs -q -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=merged.pdf multi-page-1.pdf multi-page-2.pdf 
Run Code Online (Sandbox Code Playgroud)

问题是,ImageMagick'convert'命令将urls作为输入而ghostscript不作为,我需要我的程序来获取url输入而不是文件路径.

是否可以使用ImageMagick获取上述ghostscript命令的结果?

imagemagick ghostscript

7
推荐指数
1
解决办法
2071
查看次数

当命令行调用时,Ghostscript会抑制输出窗口

这是我的情景:

我正在将PDF文件转换为通过C#调用Ghostscript的PNG图像.这是我使用的参数字符串:

-dNOPAUSE -dBATCH -dFirstPage=1 -q -r300   -sDEVICE=png256 -sOutputFile=...
Run Code Online (Sandbox Code Playgroud)

但是,通过这种方式,当我调用Ghostscript时,它会显示一个窗口(在我添加之前-q)有输出消息.

我试过添加-dNODISPLAY之后-r300.但是这样Ghostscript不起作用,也不会创建图像.

问题: 我可以通过哪种方式抑制输出窗口?

c# command-line ghostscript

7
推荐指数
1
解决办法
3138
查看次数