运行时水印生成pdf文件Yii框架

时间:2014-12-22 19:20:10

标签: pdf yii

“我已经在服务器上传了一个文件,当我的网站上的用户下载此文件时,他应该是一个水印文件(水印文本将是'他的电子邮件ID'在pdf文件中)”

控制器:

public function actionDownloadFiles()
{
     ignore_user_abort(true);

     $path =  ( Yii::app()->basePath.'/../images/prequlification_form/'.$_GET['path'] );
      $fullPath = $path ;
     if ($fd = fopen ($fullPath, "r")) {
      $fsize = filesize($fullPath);
      $path_parts = pathinfo($fullPath);

      header("Content-type: application/octet-stream");
      header("Content-Disposition: filename=\"".$path_parts["basename"]."\"");

      header("Content-length: $fsize");
      header("Cache-control: private");
      while(!feof($fd)) {
       $buffer = fread($fd, 2048);
       echo $buffer;
      }
     }
     fclose ($fd);
     exit;
}

查看:

<h3><p class="note"><span class="required">form</span> Filling is  required.</p></h3>
    <?php echo $form->errorSummary($model); ?>
    <!--here is the user id-->
    <?php //echo $id;?>
    <div class="file-dwnload">
    <?php 
    $data=prequalificationForm::model()->findByPk(1);
    if(!empty($data))  {

     echo '<div class="dwnload-file"><li>'.
                 CHtml::link( $data->file_path,array("prequalificationForm/downloadFiles","path"=>($data->file_path))).

       '</li></div> <div class="dwnload-butn"><li>'.
        CHtml::link('Download File',array("prequalificationForm/downloadFiles","path"=>($data->file_path)))
      ."</li></div> " ;
   }?></div>

    <div class="row">
        <?php echo $form->labelEx($model,'file_path'); ?>
        <?php echo $form->fileField($model,'file_path',array('size'=>60,'maxlength'=>255)); ?>
        <?php echo $form->error($model,'file_path'); ?>
    </div>

    <div class="row buttons">
        <?php //echo CHtml::submitButton($model->isNewRecord ? 'Create' : 'Save'); ?>
        <?php echo CHtml::submitButton($model->isNewRecord ? 'Submit' : 'Save',array('class'=>'submit-btn')); ?>
    </div>
<?php $this->endWidget(); ?>
</div><!-- form -->

1 个答案:

答案 0 :(得分:0)

因此,您希望使用来自用户的一些数据为pdf添加水印。

您可以选择这样做。

如果您不在上传的文件中执行此操作,则会更容易,而是生成html内容并将html转换为PDF格式。

但是如果您需要在上传的文件中执行此操作,也许这可以帮助您: Writing/Drawing over a PDF template document in PHP