我正在制作一个企业艺术项目,要求我:
这是我尝试过的:
Illustrator(复制/粘贴崩溃)
InDesign(崩溃)
Acrobat(崩溃)
PHP(我可以将文件显示在足够大的网页上,但任何类型的print-to-pdf等只会让我的浏览器死掉 - 请参阅下面的代码)
-
$READ_LEN = 64*1024;
$MAX_BUF_LEN = 2*$READ_LEN;
$url = "../thisisit.txt";
$handle = fopen($url, "r") or die("Couldn't get handle");
if ($handle) {
while (!feof($handle)) {
$buffer = fgets($handle, 4096);
// Process buffer here..
echo htmlentities($buffer);
}
fclose($handle);
}
我的问题如下:
有没有更好的方法来处理这个大小的文本文件?
有没有办法将文本文件的输出(通过像cat这样的shell命令)直接流式传输到PDF包装器中?
我试图这样做是疯了吗?
答案 0 :(得分:0)
我使用XSL FO为您做了一个简短的测试(使用RenderX XEP)。我相信它可以,但我相信你需要做一些计算。我创建了一个页面,其大小与你说的一样,没有任何边距,里面有一些文字(大约3.2MB)。格式化为1pt字体大小约占96inx36in页面大小的1/6。
XSL FO很简单:
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"
font-family="Courier" font-size="1pt">
<fo:layout-master-set>
<fo:simple-page-master master-name="backgrad" page-width="8*12in" page-height="3*12in">
<fo:region-body/>
<fo:region-before extent="11in"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="backgrad">
<fo:flow flow-name="xsl-region-body">
<fo:block>
hjdskjhdkh dskjhdskjhsd kjsdkjsd jksd ksdkjsdkj
<!-- snipped -->
你需要64位机器和64位Java,内存大约2GB。我做了另一个23MB的测试,它几乎填满了PDF的页面。您可能适合0.7或0.8pt字体。
这是一个样本28MB文本文件@ 1pt字体 - 它溢出到两页。提示:不要使用浏览器查看它,即使它只有127kb也无法处理这个PDF。下载并使用Adobe Reader。提示2:如果你下载并打开它,它可能看起来像一个大的黑色斑点。你需要放大至约400%至少开始看东西。它是36英寸高纸上的1/72英寸字体或每页约2500行文本。 Poster PDF