Как сделать pdf с html-содержимым в стиле начальной загрузки, полученным из внутреннего файла codigniter - PullRequest
0 голосов
/ 25 марта 2019

Я хочу сделать налоговую накладную, полученную из ajax, с файлом представления codeigniter, созданным с помощью строки содержимого html в стиле начальной загрузки.Теперь я хочу сделать эту строку hrml в jspdf

public function make_sticker_sheet_process()
    {
        if($this->input->is_ajax_request()){
            $workorder_id=$this->input->post('workorder_id');
            $tot_order=count($workorder_id);
            $result=true;
            // $result=$this->order_model->make_sticker_sheet_mdl($workorder_id);
            if($result){
                $label=array();
                foreach ($workorder_id as $key => $id) {
                    $label[]=$this->make_label($id);
                }

                $info['label']=$label;

                $sticker=$this->load->view('admin/pdf/sticker_sheet_view',$info,TRUE);

                // $sticker=$this->load->view('admin/sticker_sheet_view',$info,TRUE);

                $report=array('status'=>1,'message'=>'<big>'.$tot_order.'</big> order id have been fixed as Purchased Order','sticker'=>$sticker);
                echo json_encode($report);exit;
            }
            else{
                $report=array('status'=>0,'message'=>'Somthing wrong please try again');
                echo json_encode($report);exit;
            }
        }
        else{
            show_error('No direct script access allowed');
        }
    }

Ответы [ 2 ]

0 голосов
/ 25 марта 2019

Я столкнулся с той же проблемой. я использовал начальную загрузку в виде файла. Вы можете использовать ссылку начальной загрузки, по которой файл будет загружен.

0 голосов
/ 25 марта 2019

Для создания PDF вы можете использовать jsPDF и DomPDF.

  1. Пример JsPDF приведен ниже, а для более подробной информации вы можете использовать эту ссылку .Вы должны скопировать предыдущий код в локальный файл .html и затем проверить.

var doc = new jsPDF();

	var elements = {
    	'#print': function (element, renderer) {
        	return true;
    	}
	};

	$('#cmd').click(function () {   
    	doc.fromHTML($('#content').html(), 15, 15, {
        	'width': 170,
            'elementHandlers': elements
    	});
    	doc.save('demo.pdf');
	});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/1.12.3/jquery.min.js"></script>
<div id="content">
    <h3>This text come in pdf</h3>
</div>
<div id="print"></div>
<button id="cmd">Generate PDF</button>
В DomPDF вы можете использовать Внутреннюю таблицу стилей.И загрузите загрузочные CSS как Внутреннюю таблицу стилей в заголовке.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...