2012-05-09 46 views
4

與在網頁上呈現單個圖像無關。目標是將整個網頁呈現爲屏幕截圖。想要向用戶顯示HTML文件的縮略圖。我將要截圖的HTML文件將是MIME電子郵件中的HTML部分 - 理想情況下,我想對整個MIME文件進行快照,但如果我可以對HTML文件執行此操作,則狀態良好。將HTML文件截圖爲.jpg或其他圖像

API是理想的,但可執行文件也很好。

+0

這將需要渲染,我認爲,你的問題只是有點混亂,有幾個圖像庫,你用什麼語言? – alexmherrmann

+1

所以......你想*渲染HTML文件 - 大概是基於你的標籤的JPEG文件,並將其顯示爲縮略圖。對?另外,什麼是「MIME文件」?你的意思是一個MIME編碼的電子郵件? – larsks

+0

爲清晰起見進行了編輯。而且,是的,我將擁有一個MIME編碼的電子郵件,其中包含HTML部分。如果有人碰巧知道某種技術對MIME電子郵件會這麼好,但詢問HTML部分 - >屏幕截圖更加實際。 – djechlin

回答

0

我與wkhtmltoimage去替換wkhtml ...。這工作一旦正確設置xvfb。後記建議沒有正確呈現,我們需要img而不是pdf。

1

你需要html2ps的,從包中ImageMagick的轉換:

html2ps index.html index.ps 
convert index.ps index.png 

第二個程序產生每頁一個PNG很長一段HTML頁面 - 頁面佈局是通過完成html2ps的。

我發現了一個程序了Evince-thumbnailer的,這是報告爲:

apropos postscript | grep -i png 
evince-thumbnailer (1) - create png thumbnails from PostScript and PDF documents 

,但它沒有上簡單,先測試工作。

如果你喜歡將多個頁面合併成一個更大的圖像,轉換將幫助你一定。

現在我看到的,轉換上的HTML直接操作,所以

convert index.html index.png 

應工作了。我沒有看到輸出的差異,圖像的大小几乎相同。

如果你有多部分MIME類型的電子郵件,你通常有一個郵件頭,也許一些預先的HTML文本,HTML和可能的附件。

您可以提取html並單獨格式化 - 但將其嵌入可能並不那麼容易。

這裏是我測試了文件,這是從4月14日,所以我從mailfolder提取一個郵件:

sed -n "/From - Sat Apr 14/,/From -/p" /home/stefan/.mozilla-thunderbird/k2jbztqu.default/Mail/Local\ Folders-1/Archives.sbd/sample | \ 
sed -n '/<html>/,/<\/html>/p' | wkhtmltopdf - - > sample.pdf 

然後我只提取的該HTML的一部分。

wkhtmltopdf需要- -用於讀取標準輸入/寫入標準輸出。 PDF已呈現,但我不知道如何將其整合到您的工作流程中。

您可以

convert - sample.jpg 
+0

這個解決方案目前看起來不錯,在接受之前我需要更多地使用它。看起來XWindows是獨立的,到目前爲止我所有的問題都以這種或那種形式爲中心。 – djechlin

+0

不...... PS看起來很像原始頁面,整個過程需要幾秒鐘(這個應用程序是性能敏感的)。 – djechlin

+0

@djechlin:html頁面在線嗎?我可以問這個地址嗎? –

相關問題