Hướng dẫn php generate pdf from template - php tạo pdf từ mẫu

Tôi có một tệp tài liệu docx được thiết lập với hình thành và bố cục mà tôi đã lưu dưới dạng tệp PDF. Tôi muốn sử dụng tệp PDF này làm mẫu để tạo các tệp PDF mới được điền trước với dữ liệu người dùng.

Tôi đã thấy FPDF, FPDI, TCPDF, DOMPDF, ZEND PDF, http://koivi.com/fill-pdf-form-fields/ (Justin Koivisto) Stackoverflow. Ngoại trừ FPDI, không ai trong số chúng cung cấp một ví dụ sử dụng mẫu PDF để tìm kiếm các thẻ tùy chỉnh tìm kiếm và thay thế với dữ liệu thực tế (thường là từ cơ sở dữ liệu) hoặc thêm dữ liệu mà không cần chỉ định một loạt các giá trị như X, Y, Postion, Phông chữ, định dạng phông chữ, v.v.example using a PDF template to either search-and-replace custom tags with actual data (usually from a database) or add data without specifying a bunch of values like x, y, postion, font, font-formating etc.

Tạo PDF từ đầu có vẻ như quá nhiều công việc. Tôi chưa xem xét sử dụng bộ chuyển đổi HTML2PDF vì kết quả dường như rất khác nhau, và sau đó có vấn đề với kiểu dáng. Một số công cụ cho phép CSS, nhưng thường có giới hạn như không có hỗ trợ nổi.

Không có cách nào dễ dàng sử dụng một mẫu như có Excel với PHPExcel?

Nhu cầu của tôi là:

  • Tự do
  • Tải và sử dụng một mẫu
  • Tìm kiếm và thay thế thẻ tùy chỉnh
  • Thêm dữ liệu (văn bản, hình ảnh, phông chữ, hình thành, v.v.)
  • Tiêu đề và chân trang tùy chỉnh
  • Phải làm việc với lưu trữ chia sẻ
  • Cho phép tải xuống, lưu/lưu trữ vào máy chủ và đính kèm vào email (tốt hơn mà không cần phải lưu nó trước) của PDF được tạo cuối cùng

Hướng dẫn php generate pdf from template - php tạo pdf từ mẫu

R3tep

12.1k10 Huy hiệu vàng44 Huy hiệu bạc73 Huy hiệu đồng10 gold badges44 silver badges73 bronze badges

Đã hỏi ngày 22 tháng 6 năm 2011 lúc 10:41Jun 22, 2011 at 10:41

2

Tôi thực sự khuyên bạn nên MPDF:

  1. Nó dựa trên FPDF và HTML2FPDF, vì vậy bạn có thể sử dụng một số chức năng của chúng hoặc thêm các chức năng khác
  2. Nó có hàng tấn các tính năng thú vị (tạo ra bất kỳ loại mã vạch, hỗ trợ địa phương, hình mờ, và nhiều tính năng khác)
  3. nó có một tài liệu được thực hiện rất tốt
  4. nó có một diễn đàn cộng đồng
  5. Nó có ví dụ!
  6. nó có một đường cong học tập dễ dàng

Điều tồi tệ duy nhất là nó hơi nặng, nhưng bạn có thể loại bỏ những thứ mà bạn không cần.

Maxime

8.2604 Huy hiệu vàng49 Huy hiệu bạc53 Huy hiệu Đồng4 gold badges49 silver badges53 bronze badges

Đã trả lời ngày 21 tháng 8 năm 2013 lúc 22:26Aug 21, 2013 at 22:26

Drakezilladrakezilladrakezilla

1591 Huy hiệu bạc6 Huy hiệu đồng1 silver badge6 bronze badges

0

Sử dụng TCPDF Bạn có thể tạo mẫu PDF bằng các nguyên tắc thẻ HTML, nhanh chóng tạo ra, dễ sử dụng, dễ dàng tích hợp tôi đã sử dụng nó để tạo hóa đơn chi tiết của văn phòng luật (nhiều trang có định dạng khác nhau), phong bì sản xuất của đồ trang sức Hội thảo (ảnh bao gồm), ghi chú cổ phiếu và hóa đơn.

Ví dụ TCPD

Đã trả lời ngày 22 tháng 6 năm 2011 lúc 11:18Jun 22, 2011 at 11:18

Catalin Marincatalin MarinCatalin Marin

1.2521 huy hiệu vàng11 Huy hiệu bạc18 Huy hiệu đồng1 gold badge11 silver badges18 bronze badges

Hãy thử FPDI CNTT hỗ trợ chỉnh sửa một mẫu hiện có và thực hiện các thay đổi trong tệp mẫu đó

Việc sử dụng là khá Stratight về phía trước:

setSourceFile('TestDoc.pdf');
$tplidx = $pdf->importPage(1, '/MediaBox');

$pdf->addPage();
$pdf->useTemplate($tplidx, 10, 10, 90);

$pdf->Output('newpdf.pdf', 'D');

Ngoài ra, hãy tham khảo các liên kết dưới đây: Có giải pháp cho mẫu PDF trong PHP không?

Viết/Vẽ qua tài liệu mẫu PDF trong PHP

Đã trả lời ngày 20 tháng 9 năm 2013 lúc 7:55Sep 20, 2013 at 7:55

Gaurav Sharmagaurav SharmaGaurav Sharma

2.8401 Huy hiệu vàng36 Huy hiệu bạc54 Huy hiệu đồng1 gold badge36 silver badges54 bronze badges

Đã trả lời ngày 24 tháng 10 năm 2012 lúc 13:19Oct 24, 2012 at 13:19

Vấn đề với việc cố gắng sử dụng PDF làm "mẫu" là PDF là định dạng tài liệu kiểu chữ. Ví dụ. Đó là một bố cục cố định và bạn không nên thực sự gây rối với bố cục quá nhiều.

Sẽ đơn giản hơn nhiều, nếu bạn muốn làm nhiều hơn với điều này, để sử dụng một cái gì đó như XSL-FO để tạo tài liệu của bạn từ một "mẫu" XML. Tất cả những gì bạn cần làm là tạo XML với các trường phù hợp tại chỗ và trình kết xuất XSL-Fo sau đó có thể tạo PDF cho bạn.

Trình kết xuất XSL-FO miễn phí (chỉ?) Là Apache FOP.

Đã trả lời ngày 23 tháng 6 năm 2011 lúc 6:41Jun 23, 2011 at 6:41

Hướng dẫn php generate pdf from template - php tạo pdf từ mẫu

Bạn có thể bỏ qua tất cả nỗi đau của việc xác định mẫu trên PDF hiện có với https://github.com/applicius/dhek/releases. Nó tạo ra một vùng ánh xạ JSON trên trang/tọa độ PDF, để bạn có thể điền vào nó với API PDF mà bạn thích.

Đã trả lời ngày 28 tháng 5 năm 2014 lúc 7:48May 28, 2014 at 7:48

Hướng dẫn php generate pdf from template - php tạo pdf từ mẫu

Canteepcchantepcchantep

9.0493 huy hiệu vàng29 Huy hiệu bạc41 Huy hiệu đồng3 gold badges29 silver badges41 bronze badges

Thay vì thực hiện điều này với PHP, bạn có thể sử dụng tính năng hợp nhất thư Word hoặc OpenOffice để tạo mẫu và nhập dữ liệu vào các thẻ. Sau đó, bạn có thể "in" nhưng xuất dưới dạng PDF thay vì thực sự in. Đây có thể là một giải pháp nhanh hơn với điều kiện bạn không cần phải cập nhật mẫu thường xuyên. Tôi đã làm điều này cho khoảng 150 sản phẩm và chỉ mất chưa đến 30 phút bao gồm việc tạo mẫu và tải lên các tệp PDF. Chỉ là một suy nghĩ sau, hy vọng điều này sẽ giúp người khác!

Đã trả lời ngày 2 tháng 9 năm 2015 lúc 19:13Sep 2, 2015 at 19:13

Hướng dẫn php generate pdf from template - php tạo pdf từ mẫu

NotjaynotjayNotJay

3,8535 huy hiệu vàng36 Huy hiệu bạc62 Huy hiệu đồng5 gold badges36 silver badges62 bronze badges

Tôi đã cần điều đó cho một dự án vì vậy tôi đã tạo một công cụ nhanh cho điều đó. Bạn có thể kiểm tra nó và cảm thấy tự do để đóng góp ở đây

Đã trả lời ngày 4 tháng 7 năm 2019 lúc 21:57Jul 4, 2019 at 21:57

Glerendeguiglerendeguiglerendegui

1.42713 huy hiệu bạc15 huy hiệu đồng13 silver badges15 bronze badges

Nếu máy chủ của bạn đã cài đặt OpenOffice, bạn có thể sử dụng Soffice ở chế độ không đầu để chuyển đổi FILES RTF (định dạng văn bản phong phú) thành PDF.

  1. Tạo RTF với dấu ngoặc mẫu bên trong văn bản như "Dear, {{{name}}}, bạn có khỏe không?"

  2. Mở tệp và tải nội dung bằng $content=file_get_contents('path_to_file');

  3. Thay thế văn bản như bạn muốn: $content=str_replace('{{{name}}}', 'Bruce Wanye', $content);

  4. Lưu nội dung vào một tệp mới: file_put_contents('path_to_file2', $content);

  5. Bây giờ chuyển đổi sang PDF: excec("soffice --headless --convert-to pdf 'path_to_file2' --outdir 'target_directory'");

Đã trả lời ngày 26 tháng 6 năm 2020 lúc 11:37Jun 26, 2020 at 11:37

JuergenjuergenJuergen

1.40720 Huy hiệu bạc28 Huy hiệu đồng20 silver badges28 bronze badges

Dưới đây là một số ví dụ cách tạo nhiều trang với một mẫu PDF và nội dung là HTML.Dựa trên thư viện MPDF.

$mpdf = new mPDF('utf-8', $format_size, 0, '', $margin_left, $margin_right, $margin_top, $margin_bottom, 0, 0, $orientation);

if ( $bg_template ) { 
    // is a PDF template file
    $mpdf->SetImportUse();
    $pagecount = $mpdf->SetSourceFile( $bg_template );
    $tplIdx = $mpdf->ImportPage( $pagecount );
}

foreach ( $html as $one_letter_text ) {
    $mpdf->addPage();

    if ( $bg_template ) {
        $mpdf->useTemplate( $tplIdx, 0, 0);
    }

    $mpdf->WriteHTML( $one_letter_text );
}
$title = 'my-letter.pdf';

$pdf_path = $this->created_pdf_upload_dir.'/'.$title;
$mpdf->Output( $pdf_path, 'F');

Đã trả lời ngày 30 tháng 4 năm 2014 lúc 6:08Apr 30, 2014 at 6:08

Hãy xem http://template2pdf.com/ Nó cung cấp API cho phép bạn sử dụng các mẫu OpenOffice hoặc LibreOffice và thay thế văn bản hoặc hình ảnh.

Đã trả lời ngày 21 tháng 2 năm 2014 lúc 19:54Feb 21, 2014 at 19:54

1