2011-02-01 147 views
3

我使用dompdf作爲codeigniter中的插件。它完美地生成PDF。但有些問題讓我吃了幾天。dompdf水印,圖像,頁眉和頁腳問題

  1. 我想將圖片作爲標題放在生成的pdf的每個頁面中。我根據給出的教程here做了。 但沒有進展。我嘗試了所有類型的圖像(jpg,png,gif)在pdf resresript文件夾中。它不起作用。然後我嘗試設置圖像和css的路徑變量,如http://code.google.com/p/dompdf/wiki/Usage所示。但我無法獲得一個很好的示例或教程。如果任何機構曾經使用過這個,請幫助我。

  2. 我也想在每一頁上添加水印。爲此,我正在使用

    $pdf->page_text(110, $h - 240, "TRIAL", Font_Metrics::get_font("verdana", "bold"),110, array(0.92, 0.92, 0.92), 0, -58);

這工作正常,並生成watermark.but水印來content.is有任何事情來改變水印的不透明度。它不會通過更改數組中的參數進行更改。

3.在每一頁的末尾(除了最後一頁)我想把文本「繼續..」。因爲我正在使用

$text = "Continued.."; 
    $width = Font_Metrics::get_text_width($text, $font, $size); 
    $pdf->page_text($w - 16 - $width - 38, $y-15, $text, $font, $size, $color); 

它將文本放在每個頁面(因爲它應該)。除了最後一頁以外,還有什麼方法可以將文字放入所有頁面嗎?

  1. 如何設置在dompdf的lib文件中不可用的字體?
+0

如果任何機構有任何問題的答案,請幫助我 – sidhartha 2011-02-02 11:58:25

回答

2

1)確切地說,你正在使用的代碼是什麼?這聽起來像你內嵌腳本成功,而不是圖像。所以你的代碼可能有問題。

2)這是內聯腳本的問題。它在HTML內容之後呈現,意味着它顯示在HTML內容的頂部。通過內嵌腳本添加文本時,曾經有一個不透明選項,但我不確定它是否正常工作。它已從0.6.0代碼庫中刪除。

您可能不得不等待下一個版本,其中將包含更多的樣式選項,以啓用您想要在HTML中執行的操作(特別是固定位置和CSS翻譯)。

3)我不確定你可以在每個頁面上顯示一個標題,但最後一個。有一個選項可以停止顯示對象,但它似乎隻影響後續頁面。因此,您必須在最後一頁之前將相關代碼添加到頁面。

4)如果你想添加一個字體,你需要能夠使用load_font.php解析它。您還需要訪問可執行文件ttf2afm(dompdf 0.5.1)或ttf2ufm(dompdf 0.6.0)。有instructions on how to load fonts,或者你也可以嘗試我開發的web-based font prep tool

+0

@布萊恩,謝謝。是的,我正在使用內聯的PHP腳本。半小時後,我可以通過做下面的事情來解決不透明問題。 – sidhartha 2011-02-03 12:12:31

1

確保DOMPDF_ENABLE_PHP在dompdf_config.inc.php設置爲true〜0.6.2中的行 173請注意,這是一個潛在的安全風險,如果有任何未過濾的內容來自不受信任來源的到來PDF格式。

/** 
* Enable inline PHP 
* 
* If this setting is set to true then DOMPDF will automatically evaluate 
* inline PHP contained within <script type="text/php"> ... </script> tags. 
* 
* Enabling this for documents you do not trust (e.g. arbitrary remote html 
* pages) is a security risk. Set this option to false if you wish to process 
* untrusted documents. 
* 
* @var bool 
*/ 
define("DOMPDF_ENABLE_PHP", true);