如何创建大型PDF文件(10MB,50MB,100MB,200MB,500MB,1GB等)以进行测试?

时间:2011-02-23 14:55:40

标签: testing pdf qa

我试过这个for ((i=1; i<=10; i++)); do convert 100MB.pdf 10MB.pdf 100MB.pdf; done来创建100MB文件,但很快用完RAM。

有什么想法吗?

11 个答案:

答案 0 :(得分:36)

最简单的工具:使用pdftk(或pdftk.exe,如果您使用的是Windows):

pdftk 10_MB.pdf 100_MB.pdf cat output 110_MB.pdf

这将是一个有效的PDF。 Download pdftk here

更新:如果您想要非常大(且有效!)的非优化PDF,请使用以下命令:

pdftk 100MB.pdf 100MB.pdf 100MB.pdf 100MB.pdf 100MB.pdf cat output 500_MB.pdf

甚至(如果您使用的是Linux,Unix或Mac OS X):

pdftk $(for i in $(seq 1 100); do echo -n "100MB.pdf "; done) cat output 10_GB.pdf

答案 1 :(得分:12)

Windows:fsutil

用法:

fsutil file createnew [filename].[extension] [# of bytes]

来源:https://www.windows-commandline.com/how-to-create-large-dummy-file/


Linux:fallocate

用法:

fallocate -l 10G [filename].[extension]

来源:Quickly create a large file on a Linux system?

答案 2 :(得分:4)

对于使用macOS mkfile 的用户来说, fallocate dd

可能是一个很好的选择

mkfile 100m some100mfile.pdf

参考- https://stackoverflow.com/a/33478049/711401

答案 3 :(得分:2)

使用 cat 参数的pdftk时遇到问题,输出的效果更好。

以下命令对我有用:

pdftk file_1.pdf file_1.pdf file_1.pdf file_1.pdf cat output.pdf

使用 cat 会产生以下错误:

Error: Unexpected text in page range end, here: 
    output.pdf
    Exiting.
    Acceptable keywords, for example: "even" or "odd".
    To rotate pages, use: "north" "south" "east"
        "west" "left" "right" or "down"
Errors encountered.  No output created.
Done.  Input errors, so no output created.

http://www.pdflabs.com/docs/pdftk-cli-examples/

我创建了一个172mb的PDF,没有时间。

答案 4 :(得分:1)

根据http://www.maketecheasier.com/combine-multiple-pdf-files-with-pdftk/命令应为

pdftk file1.pdf file2.pdf file3.pdf cat output newfile.pdf

请注意,您应该下载pdftk的Windows版本

答案 5 :(得分:0)

部分取决于您尝试增加页面数量,图像数量,单个图像大小的大小。根据我的经验,任何给定的'大'PDF文件的大量(90%以上)都是图像。

您可以尝试使用像Adobe InDesign这样的专业产品来快速构建大型项目并将其导出为PDF格式。

Adobe Acrobat Pro内置了优化PDF文件的工具 - 您尝试使用这些工具“取消优化”您的文件。 :)

答案 6 :(得分:0)

如果您熟悉PDF格式,则有一种可能性:

  1. 使用一个页面创建一些简单的PDF(页面应包含在一个对象中)
  2. 复制对象乘以次数
  3. 将对复制对象的引用添加到页面目录
  4. 修复外部参照表
  5. 您将获得任意大小的有效文档,整个文件将由读者处理。

答案 7 :(得分:0)

如果您想要一个很大的有效PDF文件,那么

  1. 获取所有可能的最大有效pdf
  2. 使用类似PDF24Creator的工具将pdf融合在一起

几分钟后,我可以创建一个大文件(140MB)。

答案 8 :(得分:0)

在Linux下,pdfunitepoppler的一部分)可以连接相同的pdf文件以获得一个大的pdf文件:

pdfunite in.pdf in.pdf in.pdf out.pdf

请参阅manpage

答案 9 :(得分:0)

如果要在 Windows 中生成文件,请按照以下步骤操作:

  1. 转到要保存生成的文件的目录
  2. 在该目录上打开命令提示符
  3. 运行此 fsutil文件createnew [文件名]。[扩展名] [字节数] 命令。例如 fsutil文件createnew test.pdf 999999999
  4. 将生成95.3 MB文件

更新: 生成的文件将不是有效的pdf文件。它只具有给定的大小。

答案 10 :(得分:-4)

您是否尝试过使用cat来合并文件?

cat 10MB.pdf 10MB.pdf > 20MB.pdf

这应该会产生20MB的文件。