相关疑难解决方法(0)

PDF - 删除白边

我想知道一种从PDF文件中删除白边距的方法.就像Adobe Acrobat X Pro一样.我知道它不适用于每个PDF文件.

我猜这样做的方法是获取文本边距,然后裁剪出边距.

PyPdf是首选.

iText根据以下代码查找文本边距:

public void addMarginRectangle(String src, String dest)
    throws IOException, DocumentException {
    PdfReader reader = new PdfReader(src);
    PdfReaderContentParser parser = new PdfReaderContentParser(reader);
    PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(RESULT));
    TextMarginFinder finder;
    for (int i = 1; i <= reader.getNumberOfPages(); i++) {
        finder = parser.processContent(i, new TextMarginFinder());
        PdfContentByte cb = stamper.getOverContent(i);
        cb.rectangle(finder.getLlx(), finder.getLly(),
            finder.getWidth(), finder.getHeight());
        cb.stroke();
    }
    stamper.close();
}
Run Code Online (Sandbox Code Playgroud)

pdf pdf-generation itext ghostscript pypdf

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

使用Ghostscript裁剪PDF /添加裁剪框

我需要裁剪几百个PDF文件 - 我愿意裁剪实际文档或者只是为每个文档添加裁剪框,以便在打开PDF时显示正确的可视区域.

我怎么能用Ghostscript(v8.71)做到这一点?我找到了这个:

gs -sDEVICE=pdfwrite -sOutputFile=marked.pdf [/CropBox [54 54 1314 810] /PAGES pdfmark original.pdf

我试过这个(以及我能想到的所有变种),但我总是得到一个错误:

Error: /undefinedfilename in ([/CropBox)

我试过移动命令的参数,但似乎没有任何工作.有谁知道如何实现这一目标?

更新:更正语法后仍然没有裁剪框,​​请参阅结果 -

结果: pdfinfo -box -f 1 -l 3 original.pdf

Producer:       PDFlib 7.0.2 (PHP5/Linux)
CreationDate:   Wed Oct 21 11:41:04 2009
ModDate:        Wed Oct 21 13:38:22 2009
Tagged:         no
Pages:          1
Encrypted:      no
Page    1 size: 1423 x 918 pts
Page    1 MediaBox:     0.00     0.00  1423.00   918.00
Page    1 CropBox:      0.00     0.00  1423.00   918.00
Page    1 BleedBox:    54.00    54.00  1369.00 …
Run Code Online (Sandbox Code Playgroud)

pdf crop ghostscript

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

如何使用pdftk和/ MediaBox裁剪PDF边距

我曾经pdftk解压PDF,然后将其作为文本文件打开.
我想编辑/ MediaBox字段,这是我的情况

/MediaBox [0 0 612 792]
Run Code Online (Sandbox Code Playgroud)

例如,我想减少利润

/MediaBox [100 0 512 792]
Run Code Online (Sandbox Code Playgroud)

不幸的是它不起作用.我可以0改成一个2或一个,9但我不能举个100例子.

知道为什么吗?

pdf resize crop margins pdftk

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

如何使用Ghostscript将PDF文件的一部分裁剪为PNG

我需要将我的PDF文件中的某个部分裁剪为PNG(这将使用Ghostscript与PHP自动完成).这就是我现在所做的,基本上将PDF的第一页转为PNG:

gs -q -dNOPAUSE -dBATCH \
   -sDEVICE=pngalpha -dEPSCrop \
   -sOutputFile=output.png input.pdf
Run Code Online (Sandbox Code Playgroud)

具体来说,我正试图将这个左上角的卡片裁剪为PNG.我也愿意就如何实现这一目标提出更多建议.

php pdf png ghostscript

6
推荐指数
1
解决办法
6447
查看次数

如何轻松裁剪PDF页面?

如何在给定的PDF文件中轻松裁剪PDF页面?我更喜欢使用尽可能少的编码,并尽可能少地猜测边框几何形状......

pdf crop

6
推荐指数
1
解决办法
4445
查看次数

输出图表为两页PDF

我正在做一个森林情节,并希望将其保存为PDF文件.

我的森林地块超大(8英寸*20英寸).它可以放在一页PDF中,如下所示:

  dev.print(pdf, file="C:\\Work\\plot.pdf", width=8, height=20);
Run Code Online (Sandbox Code Playgroud)

但是它太长了:当我在A4纸上打印这个PDF时,它必须缩小以适合纸张.

所以我想将它保存为两页的PDF文件(来自R).Ps:这不是关于如何设置打印机的问题.

这该怎么做?

pdf plot r

6
推荐指数
1
解决办法
847
查看次数

将带有列的 PDF 转换为文本

在 Unix 或 Windows 中,我想将此字典转换为 Python dictionary。我复制了PDF字典的内容并将它们放在一个.rtf文件中,打算read用 Python来处理它们。但是,它给出了类似的东西:

A /e?/ 名词 ABO 系统的人类血型,含有 A 抗原(注意:A 型的人可以捐献给同一组或 AB 组的人,并且可以从具有 A 型的人那里接受血液A 型或 O 型。)
AA
腹胀 /bd?m?n(?)ld?s十?(?)n/ 名词 腹部
因气体或液体而伸展的情况
A
腹胀
AA 缩写 酗酒者匿名的

它基本上将 PDF 中的列压缩成奇怪的混杂。如何将 PDF 转换为文本以便尊重列?换句话说,所需的输出是:

A /e?/ 名词 ABO 系统的人类血型,含有 A 抗原(注意:A 型的人可以捐献给同一组或 AB 组的人,并且可以从具有 A 型的人那里接受血液A 型或 O 型。)
AA 缩写 戒酒匿名

...等等

python pdf

5
推荐指数
1
解决办法
9154
查看次数

在linux中使用命令行获取灰度图片的“文本”边界框的坐标

正如标题所说。

严格来说,我为灰度图像定义的“文本”边界框是一组 4 个坐标(x、y、x+宽度、y+高度),它们必须在该图像中定义一个矩形区域,该区域具有最大数量的矩形区域。非白色像素,同时尽可能少的白色像素(不改变非白色像素的最大数量)。我将文本放在引号中,因为图像实际上并不包含文本,因为图像只包含带有颜色的像素。

在我的 Ubuntu 中安装 ImageMagick 并在终端中输入命令:$convert input.png -trim ouput.png,我得到:

输入.png

输出.png

在网络浏览器的新选项卡中打开这两个图像,您将了解它们的区别,并且您还将了解我定义的“文本”边界框。output.png 实际上具有我正在寻找的宽度和高度。我不知道如何获取 x 和 y 坐标。

这里提供的 pdf 页面的答案 (1)不符合我的标准,因为 gs 给我的“文本”边界框有很大的白边距(实际上据我所知,gs 定义为“文本”边界框的内容) pdf 与我对图片的“文本”边界框的定义不同)。

linux bash imagemagick ghostscript superuser

5
推荐指数
1
解决办法
1241
查看次数

标签 统计

pdf ×7

ghostscript ×4

crop ×3

bash ×1

imagemagick ×1

itext ×1

linux ×1

margins ×1

pdf-generation ×1

pdftk ×1

php ×1

plot ×1

png ×1

pypdf ×1

python ×1

r ×1

resize ×1

superuser ×1