簡體   English   中英

用戶友好的方式從網站創建屏幕截圖

[英]User friendly way to create a screenshot from a website

我的訪客希望能夠將某些網站另存為圖像文件,以便他們可以隨時離線查看它們。 他們使用不同的設備(平板電腦,手機,個人電腦)和不同的瀏覽器訪問我的網站,因此依靠第三方軟件並不是一個好選擇。 (圖像文件格式與btw幾乎無關)

我希望我的服務器為用戶完成這項任務; 最好使用javascript,ajax,php或其他方式(如果很簡單)。 這些頁面是動態創建的,但是相對簡單的html,一些文本,一些jpg圖像,沒有CSS-沒什么特別的(例如動畫gif或flash)。 動態創建不需要會話Cookie或其他內容,只需url(並可能獲取)信息即可。

我對如何執行此操作沒有太多想法-當我在Google上搜索時,我只是為最終用戶找到解決方案,而不是我自己。 我現在知道的唯一可能性是使用php-png功能。 這樣,我的訪問者可以單擊鏈接並定向到他們可以下載的動態png文件。 但是我必須手動“寫” png,php-png無法將html轉換為png,可以嗎?

大約5年前,我只嘗試過一次php-png; 我記得這有點費力。 是否有用於更輕松和擴展功能的庫?

一切都歸結為一個問題:從html網站制作圖像的最簡單方法是什么? 首先,對於用戶而言,然后對於我來說,這應該盡可能地容易。

;)額外積分:萬一我發現可以動態創建圖像的東西。 如何獲得任何瀏覽器以自動在下載目錄中永久下載圖片,而不是僅顯示臨時保存的預覽?

由於PDF具有可伸縮性,並且可以包含超鏈接,因此是一種更好的解決方案。 該過程將是使用無頭瀏覽器呈現頁面並輸出呈現的PDF。 快速的Google揭示了一些有趣的可能性:

  1. Dompdf: http : //code.google.com/p/dompdf/
  2. 基於WebKit / KHTML的渲染器: https : //github.com/mreiferson/php-wkhtmltox
  3. Google Chrome Webkit支持: http : //phantomjs.org/ + https://github.com/diggin/php-PhantomjsRunner

如果您希望人們將其下載為圖像的頁面是您自己的,並且您控制為其提供服務的服務器,則可以使用php-imagemagick在服務器端構建“截屏”圖像(因此用戶可以在HTML中進行選擇版本和單圖片版本;或者單擊HTML版本中的按鈕以下載圖片版本)。 首先定義畫布,然后在其上渲染文本塊和圖像,最后將其另存為PNG或JPG圖像。

Imagemagick不能在字體方面提供很大的靈活性。 您可能需要改用imagegetttftext渲染文本塊,然后將其添加到imagemagick圖像中。

由於以這種方式構建映像在服務器端可能會非常昂貴,因此您需要緩存結果。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM