Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php TCPDF-为文件添加批注会导致重复的附件_Php_Laravel_Pdf_Laravel 4_Tcpdf - Fatal编程技术网

Php TCPDF-为文件添加批注会导致重复的附件

Php TCPDF-为文件添加批注会导致重复的附件,php,laravel,pdf,laravel-4,tcpdf,Php,Laravel,Pdf,Laravel 4,Tcpdf,我们在我们的网站上使用TCPDF生成PDF,我们在使用它附加文件时遇到一些困难。我们将空白注释放入PDF中,然后链接到下载(也可以作为PDF附件视图的一部分查看) 我们的问题是,当我们添加一个附件时,它也会添加一个带有附件链接的注释,因此本质上我们得到的是双附件,其中一些链接是下载附件的直接链接,而一些链接是不可见注释的链接。如果我们试图删除注释,那么我们只会显示一个下载链接,但有时一些链接不会下载文件,这似乎是完全随机和荒谬的 如果有人对TCPDF有类似的问题,我们发现源代码非常难以破译,因为

我们在我们的网站上使用TCPDF生成PDF,我们在使用它附加文件时遇到一些困难。我们将空白注释放入PDF中,然后链接到下载(也可以作为PDF附件视图的一部分查看)

我们的问题是,当我们添加一个附件时,它也会添加一个带有附件链接的注释,因此本质上我们得到的是双附件,其中一些链接是下载附件的直接链接,而一些链接是不可见注释的链接。如果我们试图删除注释,那么我们只会显示一个下载链接,但有时一些链接不会下载文件,这似乎是完全随机和荒谬的

如果有人对TCPDF有类似的问题,我们发现源代码非常难以破译,因为整个功能都包含在25000行文件中


编辑以添加代码示例

Route::get('/pdf', function() {


    $pdf = new TCPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

    $file_path       = storage_path() . '/exports/pdf';

    if (!File::exists($file_path)) {
        File::makeDirectory($file_path, 0775, true);
    }

    $file = "http://www.joomlaworks.net/images/demos/galleries/abstract/7.jpg";

    $pdf->Annotation(0, 0, 0, 0, 'attachment', array('Subtype' => 'FileAttachment',  'FS' => $file));

    $file_no = rand(0, 500);

    $file_name = "test{$file_no}.pdf";
    $file_location =  "{$file_path}/{$file_name}";

    $output_type = "F";

    $pdf->Output($file_location, $output_type);

});
样本输出:
*请下载并在Acrobat中打开以查看附件

我知道这已经过时了,但这是我在谷歌上发现的第一个结果之一,当时我正在研究一个类似的问题。所以我希望这能对遇到类似问题的其他人有所帮助

基于附件注释被放置在左上角,没有大小的事实,我认为这里的目的根本不是添加注释,而是附加一个文件,然后在阅读器的附件部分查看它

我们遇到了一个类似的问题,假设附件总是作为注释添加的(不太了解PDF规范,并且看到了相同的库文档)。但事实并非如此。当附件作为注释添加时,acrobat reader似乎为附件注释和通用附件行呈现一行。当您实际上不需要注释时,可以将其作为附件添加


虽然tcpdf只允许添加附件作为注释,但目前我们在此处添加了一个拉式请求,以允许添加不带注释的附件:

好问题包含codeHi Dragon,很抱歉,我们没有发布实际代码的权限,因此我编写了一个代码示例,模拟我们试图实现的目标,还包括一个示例输出,谢谢