Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > การทำให้เว็ปแสดงผลไฟล์pdf โดยการดึงข้อมูลตาราง โดยใช้Mpdf



 

การทำให้เว็ปแสดงผลไฟล์pdf โดยการดึงข้อมูลตาราง โดยใช้Mpdf

 



Topic : 136031



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์




จากที่เคยได้สอบถามในกระทู้ก่อนเรื่องการทำประกาศนียบัตร ตอนนี้ก็ทำได้แล้วนะคะโดยใช้รูปแบบอย่างง่ายโดยการใช้Mpdf
แต่จากที่ได้ทำรูปแบบผลที่ได้จะได้ตามแบบกระทู้นี้ค่ะ https://www.thaicreate.com/community/html-to-pdf-and-add-fontthai-mpdf-php.html

เลยอยากจะมาปรึกษาสองเรื่องค่ะ

เรื่องที่1. สมมุติว่า user กดปุ่มแสดงใบรับรอง หน้าที่แสดงก็จะไปยังหน้านี้เลยทันที
หน้าpdf

โดยที่ไม่ต้องกดปุ่ม a href="file_certificed.pdf" ต้องทำยังไงคะต้องปรับแก้โค้ดตรงไหนคะ

เรื่องที่2. ถ้าเครื่องแม่ต้องเก็บข้อมูลไฟล์ประกาศนียบัตรของผู้ใช้ทุกคนคงจะเปลืองเนื้อที่ความจำมากเพราะต่อให้ฐานข้อมูลเก็บแค่ชื่อไฟล์ก็จริงแต่ในคอมพิวเตอร์ก็ต้องมีการไฟล์ของประกาศนียบัตรนั้นไว้ ถ้าเราอยากจะให้เว็ปไซต์ทำงานโดยที่เมื่อผู้ใช้กดปุ่มแสดงใบประกาศนียบัตร ก็จะแสดงไฟล์pdfนั้นโดยที่ ดึงข้อมูลจากฐานข้อมูลมาสร้างเป็นไฟล์ .pdf และแสดงทันทีโดยที่ไม่ต้องบันทึกไฟล์นั้นลงเครื่องมันสามารถทำแบบนี้ได้ไหมคะ???

หรือถ้ามันจำเป็นต้องมีการบันทึกไฟล์ที่ได้จากMpdfลงเครื่องก่อนถึงจะแสดงไฟล์นั้นได้เราสามารถบันทึกซ้อนทับกันได้มั้ยค่ะ เหมือนเราSave ไฟล์Wordรอบแรก ตั้งชื่อว่า 123.doc หลังจากนั้นเราสร้างเอกสารใหม่ขึ้นมาแต่ก็บันทึกทับในไฟล์ที่ชื่อว่า 123.doc แบบนี้อ่ะค่ะ ซึ่งปัจจุบันเข้าใจว่าcodeที่ใช้อยู่ก็จะเป็นการทำงานในลักษณะนี้เพราะจริงๆในส่วนของ sqlที่ดึงฐานข้อมูล ณ ตอนนี้ตั้งค่าแบบตายตัวไว้ค่ะเพื่อให้ง่ายต่อการทดสอบ แต่อนาคตจะทำให้เป็นsqlที่รับค่า ID มาจากอีกฟอร์มแล้วใช้การดึงข้อมูลตามค่าที่รับมา

รบกวนขอความคิเห็นทั้งสองเรื่องด้วยค่ะ

อันนี้เป็นcodeที่ทำค่ะ
Code (PHP)
<?php
// Require composer autoload
require_once __DIR__ . '/vendor/autoload.php';
include "connect.php"; 
$defaultFontConfig = (new Mpdf\Config\FontVariables())->getDefaults();
$fontData = $defaultFontConfig['fontdata'];
$mpdf = new \Mpdf\Mpdf(['tempDir' => __DIR__ . '/tmp',
    'fontdata' => $fontData + [
            'sarabun' => [
                'R' => 'THSarabunNew.ttf',
                'I' => 'THSarabunNewItalic.ttf',
                'B' =>  'THSarabunNewBold.ttf',
                'BI' => "THSarabunNewBoldItalic.ttf",
            ]
        ],
]);

ob_start(); // Start get HTML code
?>


<!DOCTYPE html>
<html>
<head>
<title>PDF</title>
<link href="https://fonts.googleapis.com/css?family=Sarabun&display=swap" rel="stylesheet">
<style>
body {
    font-family:  sarabun ;
	font-size: 16px;
}
table {
  border-collapse: collapse;
  width: 100%;
}

td, th {
  border: 1px solid #dddddd;
  text-align: left;
  padding: 8px;
}

tr:nth-child(even) {
  background-color: #dddddd;
}
	
	.center {
  display: block;
  margin-left: auto;
  margin-right: auto;
  width: 100;
}
	
	div.a {
  font-size: 20px;
}
	
		div.b {
  font-size: 25px;
}
	
</style>
</head>
<body>

	<?php 
	$result = mysqli_query($conn,"select * from join_camp WHERE id_member = '3'");
	$row = mysqli_fetch_array($result);
		
			$id_camp = $row['id_camp'];

			$name_member = $row['name_member'];
	
	
	$result2 = mysqli_query($conn,"select * from camp_data WHERE id_camp  = '$id_camp'");
	$row2 = mysqli_fetch_array($result2);
		
			$name_camp = $row2['name_camp'];

			$Event_Date = $row2['Event_Date'];
	
			$location = $row2['location'];

	?>
	
	
  ที่ อว 0621.07/1190     &nbsp;    &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  
	
	<img src="images\ตราครุฑ.jpg" width="60" class="center"/>
	
	  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
	xxxxxxxxxxxx<br></br>
	
	  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;    &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; 	 &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;    &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;๖๘๐xxxxxxxxxxxxxxxx<br></br>
	
	&nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;    &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; 	 &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp;   &nbsp;  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;  &nbsp; &nbsp;  &nbsp;  .xxxxxxxxxxxxxx
		
	
	
<br></br>

<div align ="center"  class="b" >
	<strong><br></br> หนังสือรับรอง</strong>
</div>

<div align ="center" class="a">
      เอกสารฉบับนี้ให้ไว้เพื่อแสดงว่า 
</div>

<div align ="center"  class="b" >
	<strong><br></br><?php echo $name_member ?> </strong> 
</div>

<div style="text-align:justify;" class="a" >
	<br></br>ได้เข้าร่วมโครงการค่าย<strong> "<?php echo $name_camp ?>" </strong>โดยเป็นการบริการวิชาการตามพันธกิจของมหาวิทยาลัย
	ซึ่งเป็นสถาบันอุดมศึกษาเพื่อการพัฒนาท้องถิ่น ในวันที่ <?php echo $Event_Date ?> ณ <?php echo $location ?>
</div>

<div  class="a" >
    <br>  &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp;  &nbsp;  &nbsp; &nbsp;  &nbsp;  &nbsp; ให้ไว้ ณ วันที่ <?php echo $Event_Date ?></br> 
</div>

<div align ="center" class="a">
     <br></br> <br></br> <br></br> xxxxxxxxxxxxxxxxxxx
</div>
<div align ="center" class="a">
xxxxxxxxxxxxxxxxxxxx

</div>
<div align ="center" class="a">
อธิการบดีxxxxxxxx
</div>

</body>
</html>



<?php
$html = ob_get_contents();
$mpdf->WriteHTML($html);
$mpdf->Output("file_certificed.pdf");
ob_end_flush();
?>

ดาวโหลดรายงานในรูปแบบ PDF <a href="file_certificed.pdf">คลิกที่นี้</a>




Tag : PHP, MySQL, JavaScript, jQuery, PDF









ประวัติการแก้ไข
2021-03-30 23:29:15
Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2021-03-30 23:28:05 By : _dbt View : 2835 Reply : 3
 

 

No. 1



โพสกระทู้ ( 9,587 )
บทความ ( 2 )



สถานะออฟไลน์


ไม่แนะนำให้ เซฟ pdf ไว้ในเครื่อง server ผู้ใช้อยากเซฟ ก็ให้เซฟเอง server อาจจะทำงานหนักเพิ่มขึ้น แต่ก็ไม่หนักหนากว่าการ มีไฟล์กินเนื้อที่เพิ่มขึ้น เมื่อมันมีข้อมูลอยู่ใน database อยู่แล้ว

แต่ทั้งนี้ทั้งนั้น ก็ขึ้นอยู่กับปริมาณการ ดาวน์โหลด ถ้าไม่บ่อย วันละ ไม่เกิน 1000-2000 ก็ไม่น่ามีปัญหาอะไร

ส่วนปุ่ม ก็ใช้ปุ่มแรก แสดงรายงานเลยสิครับ






แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 09:19:42 By : Chaidhanan
 


 

No. 2



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


ตอบความคิดเห็นที่ : 1 เขียนโดย : Chaidhanan เมื่อวันที่ 2021-03-31 09:19:42
รายละเอียดของการตอบ ::
หมายถึงให้ปุ่มแสดงใบประกาศนียบัตรของทางฝั่งuser แสดงรายงานเลยใช่มั้ยคะจริงๆก็อยากได้แบบนั้นค่ะแต่ว่าไม่รู้ว่าต้องเขียนโค้ดยังไงคะ เพราะว่าต้องมีการสร้างไฟล์pdfก่อนตามโค้ดแล้วค่อยกดปุ่มที่แสดงผลนั้นออกมา หากจะให้กดปุ่มแรกแล้วแสดงรายงานเลยต้องปรับเปลี่ยนโค้ดเป็นยังไงคะ



ประวัติการแก้ไข
2021-03-31 10:55:45
2021-03-31 10:55:55
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-03-31 10:04:28 By : _dbt
 

 

No. 3



โพสกระทู้ ( 8 )
บทความ ( 0 )



สถานะออฟไลน์


อัพเดตค่ะ เผื่ออนาคตมีใครติดปัญหาแบบนี้ จริงๆเส้นผมบังภูเขาค่ะ
ให้ใส่โค้ดนี้ที่ด้านบนสุดนะคะ
Code (PHP)
<?php 
header("Location: file_certificed.pdf");
?>

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2021-04-14 12:42:56 By : _dbt
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : การทำให้เว็ปแสดงผลไฟล์pdf โดยการดึงข้อมูลตาราง โดยใช้Mpdf
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 04
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่