0

虽然我的问题的主题似乎是许多 PDF 操作包和工具的良好支持功能,但我需要明确表示我不想旋转 PDF。

我有一个 PDF 文件,它显示纵向 (A4),尺寸为 WxH 297x210(A4 旋转)。

现在,我需要实现的是,此 PDF 在保留尺寸的同时具有横向。

我不确定这需要我做什么。

如果我使用 Adob​​e Illustrator 将文档格式更改为所需位置,我还需要旋转内容。如果我将此页面放入设计不佳的 PDF 中,则此页面上的表单域和所有注释仍然是纵向的。

如何旋转它们以匹配新的页面方向?这种任务似乎没有工具支持。

谢谢你的支持!

托马斯

4

3 回答 3

3

目前尚不完全清楚您想要什么,但我认为您可能想要更改查看旋转,反向旋转内容和页面尺寸以进行补偿。

在这种情况下,CPDF 命令行工具可以这样做:

cpdf -upright in.pdf -o out.pdf

这将使查看旋转为 0,旋转内容并更改页面尺寸以进行补偿。然后,您可以根据需要更改查看旋转

cpdf -rotate <angle> in.pdf -o out.pdf

(绝对)或

cpdf -rotate-by <angle> in.pdf -o out.pdf

(相对)在<angle>哪里0, 90, 180, 270, 360

如果这还不够,您还有

cpdf -rotate-contents <angle> in.pdf -o out.pdf

其中 是顺时针旋转的度数,并且

cpdf -mediabox "minx miny width height" in.pdf -o out.pdf
于 2013-10-25T19:31:50.387 回答
0

您可以使用FoxitReader。它是免费的吗?它有一个功能 HOME -> ROTATE VIEW,它可以满足你的需求。

于 2013-10-25T13:42:26.173 回答
0

首先,我修复了 PDF。

看来, cpdf -upright 也可以解决这个问题。如果由于商业用途而无法使用 cpdf,您可以使用 Adob​​e Illustrator 中所示的手动方法。

cpdf 没有更正 Acrofields 方向,也没有更正 pdf 中的注释。我不得不重新创建注释。可以使用 JavaScript 修复 Acrofields,如下所示。

  1. 在 Adob​​e Illustrator 中打开 PDF
  2. 对文档的每一页重复 1..n,当前页面为“x”,步骤如下:
  3. 在 A4 横向模式下创建一个新文档,确保大小正好是 297x210 (WxH)!
    1. 在 Illustrator 中打开 PDF 页面 x
    2. 使用复制/粘贴功能将第 x 页的所有元素复制到新文档中
    3. 使用 Object/Transform/Rotate 旋转到直角,通常需要 -90° 或 +90°
    4. 将旋转的对象放置在页面上以符合您的期望
    5. 将文档另存为“page-x.pdf”
    6. 关闭 PDF 页面 x
    7. 重复下一页直到完成...
  4. 打开 Acrobat X 将单页-....pdf 合并为一个大 PDF。如果您对此不确定,请查看在线文档。不要弄乱页面的顺序!
  5. 打开损坏的 PDF
  6. 用新名称保存
  7. 打开页面工具,选择“替换页面”功能。
  8. 选择合并的 PDF 作为页面源,并将损坏的 PDF 中的所有页面替换为合并 PDF 中的固定页面。
  9. 您应该看到与它们应该在的位置成 90° 角的场

然后我在 Acrobat Pro 中使用 PDF JavaScript 修复了 Acrofields。

  1. 打开 Javascript 控制台。
  2. 输入以下脚本:

    var box = getPageBox();
    var  w = box[2] - box[0];
    var  h = box[1] - box[3]; 
    // left,top         right,bottom
    // bottom, h-left     top, h-right
    for(i=0; i<numFields; i++) {
        var f = getField(getNthFieldName(i));
        var orig = f.rect;
        f.rect = [orig[3], h-orig[0], orig[1], h-orig[2]];
        f.rotation = 0;
    }
    

    要执行,请突出显示脚本并按 ENTER 键,而不是 RETURN。ENTER 键是键盘上的输入键。这将执行突出显示的 JavaScript。表单域将旋转 +90°,并且应该放置得几乎正确,但至少靠近它们应该在的位置。

  3. 浏览所有页面,选择页面上的所有字段,然后将所有字段一起移动到正确的位置。
于 2013-10-26T19:30:46.717 回答