问题标签 [imposition]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Java -> iText -> 拼版 (n-Up) -> 示例
我想向任何可以帮助我完全理解此代码的人提供一张星巴克卡。这对我很重要。感谢您的时间!
我开始阅读 Lowagie 先生的精彩著作(iText in Action,第二版)。它写得很好,内容丰富。由于雇主的压力很大,我被迫跳到第 6 章。理解 n-Up 代码示例对我来说非常重要,作为一个新程序员,我将尝试用我的评论下面的代码问题。
如果可以的话,如果可以的话,请抽出一些时间并通过查看下面的问题来帮助我完成它,那就太好了。我感谢所有有用的评论。
问:这里的“pow”变量表示,例如,在 pow 为 3 时,生成的 n-up 将是 (2x2x2) 8。生成的 pdf 将有 8 个“src”PDF 副本。这个对吗?
A:
问:上面我不确定发生了什么。在我看来,如果模运算的余数为零,那么新的矩形将以纵向创建,反之亦然。这个对吗?如果是这样,我可以问为什么吗?
A:
问:在上面的“for”循环中,我相信我们正在为每个将被压缩到最终 pdf 表面上的 pdf 准备单元大小。我不明白为什么 getWidth() 也没有除以 2?
A:
问:'n' 是将 n'uped 到最终 pdf 表面的 pdfPages 的数量。到目前为止一切顺利,对吧?
'r' 可能是行数,'c' 可能是列数?
A:
问:每次在当前工作页面中达到预定的 nup 数时,上述 'for' 循环都会在最终的 pdf 中添加一个新页面。因此,如果我们有 n = 8,那么新页面将在 i = 8、16、24 等处调用。对吗?
A:
问:这一行说明了源 pdf 有很多页面并且并非所有页面共享相同 pdf 页面大小的情况。正确的?
A:
问:min 函数返回最小的数。为什么unitSize除以currentSize?这就是我的理解崩溃的地方。
A:
问:好的,offsetX 和 offsetY 用于将 pdf 页面定位到更大的最终 pdf 表面。我明白了。有人可以用英语向非程序员解释计算吗?这是一个知道每个数学运算做什么但不了解全局的情况。
A:
我希望这个问题可以帮助许多其他人,他们是 iText 的新手,并且可能需要一些详细的代码演练。
我也希望不要发布负面且通常无益的评论。
谢谢大家的时间和帮助!
pdf - 使用ghostscript将pdf页面切成两半并以不同方式重新拼版
我正在寻找一个ghostscript(或其他命令行)命令来重新设置一个pdf页面,以便将左侧的元素复制到右侧。像这样:
页面的大小不应该改变(每个页面都被裁剪和切割不同),虽然我可以手动提供最终大小,但从原始 pdf 中读取它会更整洁。
为了简单起见,我们假设输入文件只有一页。
我想出了一系列极其复杂的命令,包括
- 阅读 CropBox
pdfinfo
-c "[/CropBox [*new dimensions*] /PAGES pdfmark"
复制文件并更改裁剪框,以便使用命令缩短左半部分并延长右半部分- 复制文件并更改裁剪框以保留左半部分
- 使用旧页面尺寸重新处理此文件,
-g "PageDimension"
并-c \"<<\/Install{1 1 scale WithOfRightside 0 translate}>> setpagedevice\"
- 使用 pdftk 将两个新文件合并为一页:
pdftk.exe lefthalf.pdf background righthalf.pdf output combinedfile.pdf
然而,我无法让这个工作令人满意,而且我不喜欢所涉及的一系列步骤或所涉及的工具数量。当然,所有步骤都可以使用 ghostscript 以更少的步骤执行(并且对原始文件的重新处理更少)。
ghostscript - 通过ghostscript拼版pdf
有很多解决方案,例如Quite Imposing。我的想法,我们可以使用ghostscipt做类似的事情。比如说, - 将页面拆分为几个 ps 文件 - 使用 postscript 运行命令,将这些 ps 文件插入到寺庙中 - 将 ps 模板转换为 pdf(再次通过 ghostscript)
我的实验模板来了,
上面改成pdf后看不到BBB001.ps,我哪里错了?或者它不能完全工作!
[更新] 终于搞定了,把 BBB001.ps 改成 BBB001.eps。
python - 使用 Python 拼版 PDF
我正在尝试将 pdf 的第一页和第二页强加到第 1 页。第一页将在第二页之上,强加在第一页上。
问题是页面没有修剪或合并。最后一页强加于倒数第二个,就是这样。
python - 反向 PDF 拼版
我有一份拼版文件:纸张上有4 × n
A4 页n
。我将它们放入滚筒图像扫描仪并收到2 × n
一页 PDF 文档 (A3)。
如果,比如说,n = 3
那么我的 PDF 中有以下 A3 页面序列:
- 第一页:原始文档的页面
12
(左侧)和页面1
- 第二页:p。
2
和 p。11
原始文件的 - 第三页:p。
10
和 p。3
…</li> - ……以此类推,直到……</li>
- 第六页:p。
6
和 p。7
原始文件的
问题:如何在一个 A4 格式的 PDF 文件中重建原始页面顺序?即我想这样做:
在 linux 中,我通常在这种情况下使用pdftk
or -like 控制台实用程序,但我不知道如何将它们用于我当前的目的。pdftops
python - 如何将多个 SVG 以特定尺寸放在一个页面上?
我正在设计一款纸牌游戏。我在 Inkscape 中制作了卡片模板,然后编写了一个 Python 脚本来复制模板并为每张卡片制作一个新的 SVG 文件,从 CSV 文件中填写标题等。
我想对生成的 SVG 做的是将它们放在单个页面上的 3x3 网格中,这样我就可以在普通纸上打印它们。我还希望它们具有特定的大小(在原始 Inkscape SVG 中指定)。请注意,我有不止一页的卡片。
我认为通常我可以将它们放在包装器 SVG 中并将其转换为 PDF,但 Inkscape 将id
属性放在所有元素上,我预计这会导致问题。
如何将这些 SVG 放在 3x3 网格中的页面上?