当前位置: 首页 > 知识库问答 >
问题:

在不改变方向的情况下旋转PDF

苏高远
2023-03-14

虽然我的问题主题似乎是许多PDF操作包和工具都支持的特性,但我需要明确指出,我不想旋转PDF。

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

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

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

如果我使用Adobe Illustrator将文档格式更改到所需的位置,我还需要旋转内容。如果我将此页面放入设计糟糕的PDF中,此页面上的表单字段和所有注释仍然处于纵向方向。

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

感谢您的支持!

托马斯

共有3个答案

洪增
2023-03-14

首先我修正了PDF。

看起来,cpdf -upright也会解决这个问题。如果因为商业用途而无法使用cpdf,可以使用手动方法,如Adobe Illustrator所示。

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

  1. 在土坯插画器中打开 PDF
  2. 对文档的每个页面 1..n 重复此操作,当前页面为“x”,执行以下步骤:
  3. 在A4中创建新文档,横向模式,确保大小正好为297x210(宽x高)!
    1. 在插画器中打开 PDF 页面 x
    2. 使用复制/粘贴功能将第 x 页的所有元素复制到新文档中
    3. 使用对象/变换/旋转旋转到直角,通常需要 -90° 或 90°
    4. 将旋转的对象放置在页面上以符合您的期望
    5. 将文档另存为“第 x 页.pdf”
    6. 关闭 PDF 页面 x
    7. 在下一页重复此步骤,直到完成...

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

    > < li >打开Javascript控制台。

  4. < li>

    输入以下脚本:

    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键。回车键是键盘上的回车键。这将执行突出显示的JavaScript。表单域将被旋转90度,应该被放置在几乎正确的位置,但至少是在它们应该在的位置附近。

於彬
2023-03-14

您可以使用FoxitReader。它是免费的吗?它有一个功能HOME-

仰欣悦
2023-03-14

目前还不完全清楚你想要什么,但我认为可能是你想改变观看旋转,反向旋转内容和页面尺寸来补偿。

在这种情况下,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

(相对)其中

如果这还不够,您还需要

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

顺时针旋转多少度,和

cpdf -mediabox "minx miny width height" in.pdf -o out.pdf

 类似资料:
  • 我从供应商那里收到单页pdf文件的邮资标签。这些标签可以贴在A5纸上,但它们在A4纸上是纵向的,也是纵向的。我希望能够在A4纸上打印两个这样的标签,以减少浪费。 这可以通过旋转页面内容而不旋转页面本身来实现。或者通过交换内容的高度和宽度来调整页面的大小。我知道这两种情况都会导致内容丢失,但这对于我的用例来说不是问题。理想情况下,我希望命令行应用程序既可以在Linux机器上运行,也可以在Window

  • 问题是如何使用OpenCV旋转图像并保持原始尺寸。当前正在使用此功能: 此外,在warpAffine中使用了什么样的算法(Bicubic?)

  • 我正在尝试从组件更新(添加,删除)查询参数。在angularJS中,由于: 我有一个应用程序,其中包含用户可以过滤,排序等列表,我想在url的查询参数中设置所有激活的过滤器,以便他可以复制/粘贴URL或与其他人共享。

  • 本文向大家介绍mysql不重启的情况下修改参数变量,包括了mysql不重启的情况下修改参数变量的使用技巧和注意事项,需要的朋友参考一下 通常来说,更新mysql配置my.cnf需要重启mysql才能生效,但是有些时候mysql在线上,不一定允许你重启,这时候应该怎么办呢? 看一个例子: mysql> show variables like 'log_slave_updates'; +-------

  • 问题内容: 我正在努力围绕其中心绘制旋转的位图,并在不调整位图大小的情况下进行旋转。我正在通过游戏线程将所有子画面绘制到屏幕上,因此我正在寻找一种包含原始位图而不是画布的解决方案。 提前致谢。 到目前为止,这是我的代码,它围绕其中心旋转一个位图,但对其进行了调整。 更新: 我注意到这并不像听起来那么容易。我的旋转代码不是问题。位图旋转,但是dst rect也必须根据旋转角度增加/减少,否则bima

  • 我想复制这家伙做的但不使用画布。我想有一个div在我的页面的中心,并简单地增加宽度/高度/边界半径10px每秒。这工作得很好,但是由于某种原因,div越大,它向右下方移动的越多。圆圈不是静止不动的,它的中心位置随着它变大而改变。如何在不改变位置的情况下更改div的宽度/高度? main.css index.html APP咖啡