- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我发现类似的问题得到了回答 Overlay two postscript files (command line approach)? , 但是,该解决方案对我不起作用,而且我的要求有点不同(我的一个文件是多页文件)
我有一个不受我控制的 PDF 文件 ( DrawingSheet.pdf
)。我有一个 PostScript 文件 ( Table.ps
),我通过使用 XSLFO 和 Apache FOP 转换 XML 文件来生成它。 Table.ps
包含一张表。DrawingSheet.pdf
有多个页面。 Table.ps
只有一页。两者 DrawingSheet.pdf
和 Table.ps
具有相同的纸张尺寸 - A 尺寸,横向。我想从 Table.ps
放置那张 table 在 DrawingSheet.pdf
最后一页的顶部.我不想在 DrawingSheet.pdf
的末尾“附加”表格页面作为附加页面.我正在使用命令行 GhostScript (v9.27)。
根据那篇文章的建议,我写了以下 Overlay.ps 文件:
/origshowpage /showpage load def
/showpage {} def
gsave
(DrawingSheet.pdf) run
grestore
(Table.ps) run
origshowpage
那行不通。我得到的是表格页面“附加”到
DrawingSheet.pdf
而不是覆盖在最后一页的顶部。
Table.ps
与
DrawingSheet.pdf
的页数相同文件并让表格只出现在
Table.ps
的最后一页.
DrawingSheet.pdf
中的页数一样多。 .有趣的是,当我加载生成的空白 PDF 时,我可以看到 Acrobat Reader 在屏幕上闪烁表格,但是当加载整个文件时,我最终看到的只是空白页面。
<<
/EndPage
{
2 eq
{
pop false
}
{
gsave
1 dict begin
/showpage {} def
(Table.ps) run
end
grestore
pop true
} ifelse
} bind
>> setpagedevice
Edited-2 - 附加说明 : 如果我注释掉
gsave
和
grestore
从上面的代码,然后我没有得到空白页,而是现在每个页面都用来自
Table.ps
的表格“替换”(没有覆盖)。 .
DrawingSheet.pdf
至
DrawingSheet.ps
,确定了最后
%%EndPageSetup
行,并在该行之后插入以下代码:
% BUNCH OF LINES NOT SHOWN %
%%BeginPageSetup
4 0 obj
<</Type/Page/MediaBox [0 0 792 612]
/Parent 3 0 R
/Resources<</ProcSet[/PDF]
/Font 10 0 R
>>
/Contents 5 0 R
/CropBox
[0 0 792.0 612.0]
/BleedBox
[0 0 792.0 612.0]
/TrimBox
[0 0 792.0 612.0]
>>
endobj
%%EndPageSetup
%gsave % <== My Edits
1 dict begin % <== My Edits
/showpage {} def % <== My Edits
(Table.ps) run % <== My Edits
end % <== My Edits
%grestore % <== My Edits
5 0 obj
<</Length 30050>>stream
% BUNCH OF LINES NOT SHOWN %
通过此编辑(gsave 和 grestore 注释掉 - 如果我取消注释它们,则这不起作用),我在最后一页上强加了我的表。表格看起来不错,但是 pdf 的原始最后一页在叠加后显示为在 X 轴的中心上翻转。页面截图如下:
Table.ps
,而翻转的文字是
DrawingSheet.pdf
最后一页的原文(当然,原始 pdf 中的页面不会翻转)。
最佳答案
我试过你的endpage,终于让这种方法起作用了。 EndPage 将原因代码 0 或 1 和页面计数放在堆栈上(对于某些 pdf 来说不可靠),因此替代方法是/PageCount 变量,我同时显示两者。这些计数页数并在页尾递增。
在页面完成之前,您需要知道将叠加层放置在页面上的页数。 “finalpage”变量也可以在 ghostscript 命令行而不是文件中定义。使用 endpage.ps 和 DrawingSheet.ps 文件作为参数运行 ghostscript。需要做更多的工作才能将其调整为 DrawingSheet.pdf,但应该是可能的。
查看更改最终页码后是否有效。在执行 showpage 之前,table.ps 应该放在原始最后一页的顶部。
%!
/finalpage 9 def
<<
/EndPage {
2 ne {
1 add finalpage eq {(found last page\n)print (Table.ps)run} if
currentpagedevice /PageCount get ==
true
} if
}
>> setpagedevice
编辑:Postscript 语言引用手册 3 第 176 页说:
The PostScript interpreter maintains an implicit current page that accumulates the marks made by the painting operators. When a program begins, the current page is completely blank. As each painting operator executes, it places marks on the current page. Each new mark completely obscures any marks it may overlay. This method is known as a painting model: no matter what color a mark has—white, black, gray, or color—it is put onto the current page as if it were applied with opaque paint. Once the page has been completely composed, invoking the showpage operator renders the accumulated marks on the output media and then clears the page to white again.
关于pdf - 在 PDF 文件上覆盖一个 PS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66554567/
我知道 C++ 中的 overriding 是什么。但是,是否存在覆盖?如果有,是什么意思? 谢谢。 最佳答案 在 C++ 术语中,您有 覆盖(与类层次结构中的虚拟方法相关)和 重载(与具有相同名称但
我想捕获位于另一个元素下的元素的鼠标事件。 这是我所拥有的示例:http://jsfiddle.net/KVLkp/13/ 现在我想要的是当鼠标悬停在红色方 block 上时蓝色方 block 有黄色
以下报道 here我尝试创建一个带有重叠散点图的箱线图。 但是当我运行时: In [27]: table1.t_in[table1.duration==6] Out[27]: counter 7
有一个 JS Fiddle here , 你能在不克隆到新对象的情况下替换 e.target 吗? 下面重复了那个 fiddle 的听众; one.addEventListener('click',
首先要解决重复的可能性: 我不是询问 Override 是什么、它的含义或 @Override 在 java 文档注释之外。那是我不是问 /**Some JavaDoc Comment*/ @over
我想要高于定义的数组。它存储点及其坐标。 public static List simpleGraph(List nodes) { int numEdges = nodes.size() *
我在 http://olisan.dk/blog/ 有一个博客- 如您所见,有一个 28 像素的高间隙(边距顶部)...在 style.css 中: margin-top: 0; 也被设置为 marg
Vulkan 句柄是指向 struct 的不透明指针,或者只是无符号的 64 位整数,具体取决于 VK_USE_64_BIT_PTR_DEFINES 的值: #if (VK_USE_64_BI
我正在尝试提供一个行为类似于 DataGridTextColumn 的 DataGrid 列,但在编辑模式下有一个附加按钮。我查看了 DataGridTemplateColumn,但似乎更容易将 Da
使用 Django 1.10 我想在用户名中允许\字符,因为我在使用“django.contrib.auth.middleware.RemoteUserMiddleware”的 Windows 环境中
我正在尝试使用 ffmpeg 将 Logo 放入 rtmp 流中。我的 ffmpeg 版本是 ffmpeg version 4.3.1目前在我的复杂过滤器中,我有: ffmpeg -re -i 'v
是否有用于Firebase 3存储的方法/规则来禁用文件更新或覆盖? 我为数据库找到了data.exists(),但没有为存储找到解决方案。 最佳答案 TL; DR:在Storage Security
我有两个 Docker Compose 文件,docker-compose.yml看起来像这样 version: '2' services: mongo: image: mongo:3.2
我需要覆盖 JPA 中的集合表吗?也许有人有想法 public class nationality{ @Embedded @AttributeOverrides({
嗨,我正在使用 WIX 和下面的代码将文件安装到目录中。 我的应用程序的工作方式是用户可以在该目录中复制他们自己的文件,覆盖他们喜欢的内容
我正在尝试为 Lua 中的字符串实现我自己的长度方法。 我已成功覆盖字符串的 len() 方法,但我不知道如何为 # 运算符执行此操作。 orig_len = string.len function
在Scala 2.10.4中,给出以下类: scala> class Foo { | val x = true | val f = if (x) 100 else 200
我想做上面的事情。 我过去覆盖了许多文件...... block ,模型,助手......但这个让我望而却步。 谁能看到我在这里做错了什么: (我编辑了这段代码......现在包括一些建议......
根据javadoc An instance method in a subclass with the same signature (name, plus the number and the ty
我有一段代码,只要有可用的新数据作为 InputStream 就会生成新数据。每次都覆盖同一个文件。有时文件在写入之前变为 0 kb。 Web 服务会定期读取这些文件。我需要避免文件为 0 字节的情况
我是一名优秀的程序员,十分优秀!