2014-06-20 270 views
3

我正在嘗試使用jsPDF庫來生成pdf。我能夠構建pdf,但有沒有辦法將頁面大小傳遞給pdf的每個頁面?我目前正在輸出pdf,並在每個添加的「圖像」下方留出一些額外的空白。使用jsPDF設置pdf頁面寬度/高度

這裏是pdf上的一個頁面的屏幕截圖。它有圖像,然後有空白填充該頁面的其餘部分。我在右側也有空白區域,因爲寬度比我的圖像寬。寬度不像高度問題那麼重要。我敢肯定,我可以通過設置x,以下行y值在快速移動圖像:

pdf.addImage(img, 'JPEG', 0, 0);

但是,這不會幫助我的高度。

screen shot of the pdf

我目前只是抽成圖像每頁PDF 1,我想所有的頁面是一樣的尺寸。我就知道了圖像的大小,並希望通過選擇在這樣的:

var pdf = new jsPDF(options, '', '', '');

pdf.addPage(options);

是否可以設置PDF的寬度和高度或pdf的個別頁面?

回答

4

你應該能夠選擇一個頁面格式,足夠接近你想要創建PDF時,像這樣:在jsPDF聲明的頂部對象

var pdf = new jsPDF("l", "pt", "letter"); 

這第三個參數來自pageFormats在文件中。

此外,您應該能夠縮放圖像,以便在頁面上填充適當的大小。如果你看一下的原型addImage功能,你會看到,你可以通過:

addImage(imageData, format, x, y, w, h, alias, compression); 

,其中W和H是圖像的預期範圍。根據我的經驗,jsPDF沒有問題從源頭縮放圖像,所以我沒有看到它無法擴展的原因。

編輯:

請注意,如果你在創建PDF作爲var pdf = new jsPDF(options, '', '', '');那麼你可以設置選項的意圖:

options = { 
    orientation: "l", 
    unit: "pt", 
    format: "letter" 
}; 
+0

什麼是別名和壓縮,我的意思是什麼類型的變量是有? –

+0

@KunjanShah我相信別名是一個字符串,你將用它來在PDF中對圖像進行別名,而壓縮是一個可以是「none」,「fast」,「medium」或「slow」的字符串沒關係)。這些值可以在[source]中找到(https://github.com/MrRio/jsPDF/blob/master/plugins/addimage.js#L319) – GrouchyPanda