首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >打开FDF本地工作,但不在服务器上。

问打开FDF本地工作,但不在服务器上。
EN

Stack Overflow用户
提问于 2011-06-17 22:58:31
回答 1查看 2.1K关注 0票数 1

在本地主机上,我有一个创建和FDF文件的表单.在该文件中,它还包含了一个“全路径”->‘http://localhost/example/example.pdf’.因此,当我“单击链接”打开浏览器中的FDF文件时,它会加载PDF,并将FDF数据插入到适当的位置。

当我在Linux (非本地)上这样做时,当我单击FDF文件打开它时,它只会打开文件,并将文本(fdf文件)呈现到屏幕上,而不是“打开”fdf文件。

想知道有没有人能帮我解决这个问题..。我想打开FDF文件,所以它也打开PDF文件。

这是我做过的一些代码,但是我已经注释掉了“headers”.因为我认为在“打开”文件时不需要头文件,而不是将一个文件呈现到屏幕上?

代码语言:javascript
复制
    $fdf = new fdf();
    //$response = $fdf->fdfMerge(APP_ROOT."/forms/test/FormTest.pdf", $_POST);
    $response = $fdf->renderFDF(DOMAIN."forms/test/FormTest.pdf", $_POST, $_POST['userId'], $_POST['contactId']);
    //var_dump($response);

    // Link DIRECTLY to the FDF file... 
    echo "Internal: <a href='". $response['internalPath'] ."'>". $response['internalPath'] ."</a><br />";
    echo "External: <a href='". $response['externalPath'] ."'>". $response['externalPath'] ."</a><br />";

    /*
    if(ini_get('zlib.output_compression'))
         ini_set('zlib.output_compression', 'Off');

    header("Pragma: public"); // required
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Cache-Control: private", false); // required for certain browsers

    header("Content-Type: application/x-download");
    header("Content-Disposition: attachment; filename=".$response['fdfFile'].";" );

    header("Content-Length: ".$filesize($response['fdfFile'])."");
    header("Content-Transfer-Encoding: binary");

    ob_clean();
    flush();

    fopen($response['fullPath']);
    */

- LINUX浏览器的响应

代码语言:javascript
复制
%FDF-1.2
%âãÃÓ
1 0 obj
<< 
/FDF << /Fields [ <</T(formId)/V(111)>><</T(userId)/V(23)>><</T(contactId)/V(2950)>><</T(firstName)/V(Justin)>><</T(lastName)/V(Geezer)>><</T(email)/V(justin@stickypages.ca)>>] 
/F (https://www.example.com/forms/test/FormTest.pdf) /ID [ <bd71513804f75900e899f3be924b69ef>
] >> 
>> 
endobj
trailer
<<
/Root 1 0 R 

>>
%%EOF

这里是一个ScreenShot,当我使用"HEADER“响应时。

​

编辑:如果我从服务器下载FDF文件,并“双击”打开该文件,它将从web下载PDF文件并将其打开。

EN

回答 1

Stack Overflow用户

发布于 2011-06-17 23:48:51

最好的猜测是fpdf不能写入tmp目录,或者它使用的文件是如何阻塞的。检查您的apache日志,您能给出一个在linux上显示的文本示例吗?您的php文件中可能有空白或返回键。例如

代码语言:javascript
复制
<?php
echo "woohoo";
?>
<?php
echo "second woohoo";
?>

在中间,有一个关闭和打开标记的返回键,它可以在linux上搞乱事情,而不是windows (因为windows忽略了导致新行的特殊字符)。

此外,在生成代码的fpdf末尾,不要关闭标记,即:

代码语言:javascript
复制
<?php
echo "second wooho";
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6392630

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档