一、fpd轉word圖片丟失
在使用fpd轉換成word文檔再使用word轉換成圖片時,可能會出現轉換後圖片丟失的情況。這是因為word中轉換的圖片質量和尺寸默認設置較低。可以通過修改word中的默認設置解決。
// 設置word中圖片的質量和尺寸
$word = new \COM("Word.Application");
$word->Optionen->EmbedTrueTypeFonts = false;
$word->Optionen->UpdateFieldsAtOpen = false;
$word->Visible = 0;
$word->Documents->Open(realpath("./template.docx"));
$word->Options->ViewAnimEffects = 0;
$word->Options->AllowReadingMode = 0;
$word->ActiveDocument->PageSetup->TopMargin = 25;
$word->ActiveDocument->PageSetup->BottomMargin = 25;
$word->ActiveDocument->PageSetup->LeftMargin = 25;
$word->ActiveDocument->PageSetup->RightMargin = 25;
$word->ActiveDocument->PageSetup->GutterPos = 0;
$word->ActiveDocument->PageSetup->HeaderDistance = 36;
$word->ActiveDocument->PageSetup->FooterDistance = 36;
$word->ActiveDocument->PageSetup->PageWidth = 595;
$word->ActiveDocument->PageSetup->PageHeight = 842;
$word->ActiveDocument->PageSetup->Orientation = 0;
$word->ActiveDocument->PageSetup->MirrorMargins = false;
$word->ActiveDocument->PageSetup->TwoPagesOnOne = false;
$word->ActiveDocument->PageSetup->BookFoldPrinting = false;
$word->Options->DefaultBorderColor = 1;
$word->Options->PrintBackgrounds = true;
$word->Options->AllowPNG = true;
$word->Options->DoNotPromptForConvert = false;
$word->ActiveDocument->SaveAs(realpath("./output.docx"));
$word->ActiveDocument->Close(false);
$word->Quit(false);
unset($word);
二、phppdf轉png
在將phppdf文件轉換成png圖片時,需要注意的一些事項。
1、引入pdf庫
確保引入了pdf庫,並具備讀取pdf文件和相關操作的權限。
require_once("pdf.php");
2、定義常量和實例化對象
常量定義了渲染的dpi和圖片保存的格式。$pdf文件保存的路徑需要根據具體情況進行替換。
define('DPI', 144);
define('IMAGE_FORMAT', 'png');
$pdf = new pdf();
$pdf->open("filepath.pdf");
3、設置頁面尺寸和顏色空間
設置頁面的尺寸和顏色空間,可以通過getPageWidth()和getPageHeight()方法獲取頁面尺寸,通過getColorSpace()方法獲取顏色空間。
$pageWidth = $pdf->getPageWidth(); $pageHeight = $pdf->getPageHeight(); $colorSpace = $pdf->getColorSpace();
4、設置頁面轉換的寬度和高度
可以通過設置寬度和高度來控制圖片的質量和尺寸。
$width = $pageWidth * DPI / 72; $height = $pageHeight * DPI / 72;
5、設置縮放和旋轉參數
預覽頁面可能會包含縮放或旋轉,可以通過setScale()和setRotate()方法進行控制。
$pdf->setScale($scale); $pdf->setRotate($rotate);
6、渲染頁面並保存圖片
通過調用getImageBlob()將渲染出來的圖片數據保存到文件中。
$image = $pdf->getImageBlob($width, $height, $colorSpace, DPI);
file_put_contents("filepath.png", $image);
7、關閉pdf對象
關閉pdf對象,釋放內存。
$pdf->close();
三、小結
在對phppdf轉換成圖片進行詳細闡述後,我們深入理解了對於fpd轉word圖片丟失的原因以及解決方法。同時,我們對phppdf轉png需要注意的事項進行了詳細解釋和演示代碼,希望這篇文章能夠對於您有所幫助。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/191142.html
微信掃一掃
支付寶掃一掃