Php 处理和打印大型文本文件

Php 处理和打印大型文本文件,php,pdf,graphics,printing,Php,Pdf,Graphics,Printing,我正在从事一个公司艺术项目,该项目要求我: 将我们的git repo(数十万)中的每一行代码连接到一个文件中的一行。-此操作已完成,但文件相当大(122mb) 该文件需要在四张非常大(3'x 8'/300dpi)的海报中转换为印刷店准备的格式(PDF、EPS等) 以下是我尝试过的: Illustrator(复制/粘贴崩溃) InDesign(碰撞) Acrobat(崩溃) PHP(我可以将文件显示在足够大的网页上,但任何形式的pdf打印等都会使我的浏览器死机-请参阅下面的代码) - 我的问题

我正在从事一个公司艺术项目,该项目要求我:

  • 将我们的git repo(数十万)中的每一行代码连接到一个文件中的一行。-此操作已完成,但文件相当大(122mb)
  • 该文件需要在四张非常大(3'x 8'/300dpi)的海报中转换为印刷店准备的格式(PDF、EPS等)
  • 以下是我尝试过的:

    • Illustrator(复制/粘贴崩溃)

    • InDesign(碰撞)

    • Acrobat(崩溃)

    • PHP(我可以将文件显示在足够大的网页上,但任何形式的pdf打印等都会使我的浏览器死机-请参阅下面的代码)

    -

    我的问题如下:

    • 有没有更好的方法来处理这种大小的文本文件

    • 有没有办法将文本文件的输出(通过像cat这样的shell命令)直接流到PDF包装器中

    • 我这么做是不是疯了


    我使用XSL FO(使用RenderX XEP)为您做了一个简短的测试。我很有信心,但我相信你需要做一些计算。我创建了一个页面,它的大小与你所说的一样,没有任何边距,里面有一些文字(大约3.2MB)。1pt字体大小的格式化大约占96inx36页面大小的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 -->
    
    
    hjdskjhdkh dskjhdskjhsd kjsdkjsd jksd ksdkjsdkj
    

    您确实需要64位机器和64位Java以及大约2GB的内存。我做了另一个23MB的测试,它几乎填满了PDF页面。您可以将其设置为0.7或0.8磅字体


    下面是一个28MB文本文件@1pt font的示例——它溢出到两页。提示:不要使用浏览器查看它,它无法处理此PDF,即使它只有127kb。下载并使用Adobe Reader。提示2:如果你下载并打开它,它可能看起来像一个大黑点。你至少需要放大到400%左右才能开始看到东西。它是36英寸高的纸张上的1/72英寸字体,或每页2500行文字

    因为你需要4个打印…你有没有试着把这个122mb的文件分成4个文件,每个都是30mb?听起来你需要更多的内存。InDesign应该能够处理这么多的文本,您可能需要调整视图>显示性能。首先,我非常激动,非常感谢您能花这么多时间解释并概述我的问题的解决方案。我会尝试一下,让你知道它是否有效。我想你需要RenderX来做。我不认为apachefop会起作用。幸运的是你。。。我在那里工作,可以给你一个临时许可证和设置。你可以通过renderx的“kevin”给我写信。
    <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 -->