簡體   English   中英

在通過AJAX動態添加一些內容后,如何將當前頁面轉換為pdf?

[英]How can I convert my current page to pdf after some content dynamically added via AJAX?

我在PHP中找到了一些可以完成這項工作的庫或Web服務。 問題是轉換是在頁面完全加載時完成的,我想在onload事件中通過AJAX動態添加一些內容之后 將頁面轉換為PDF

非常感謝,奧馬爾

您可以將document.getElementsByTagName('html')[0].innerHTML回服務器(可能使用AJAX)並從中生成PDF。

當您使用AJAX添加內容時,這只發生在客戶端的計算機上,因此服務器端的PHP轉換代碼將無法使用它。 如果要在服務器上進行PDF創建,則需要提供包含動態內容的服務器端方法。

在添加動態匹配之后,您可以實現將頁面內容/狀態發送回服務器端的AJAX調用,其中可以將其呈現為pdf。 您可能不需要所有頁面,具體取決於此“動態內容”的去向。

看起來有點混亂,但是在不知道項目的情況下,很難說是否可以采用更清潔的方法來做你想做的事情。

由於Ajax情況,這是客戶端要求。 如果他們使用Mac,他們可以簡單地保存為PDF,但除此之外你幾乎無法控制他們可以做什么。

但是,對於服務器端實現,您可以做的是保存頁面及其加載該頁面后的所有AJAX請求的記錄,並在請求時從該記錄構建服務器上的HTML和PDF。 當然,這不是一項簡單的任務,而且相當矯枉過正。 除了將HTML轉換為PDF之外,您可能最好使用不同的機制來創建頁面的服務器端PDF報告。

如果您的頁面只能在客戶端上更新而無需訪問服務器,則必須回發到您的應用程序。 這樣你就擁有了所有的內容,並且不會重建,如果只有客戶端的交互那么這是不可能的。

哇,謝謝大家我不知道這是社區如此活躍。 要回答有關該項目的Beepcake:

當頁面加載應用程序時,通過AJAX請求從40多台服務器檢索生物信息,然后會顯示一個獨特的視圖,您可以使用許多選項操作圖形。

因此,當用戶制作自己的圖形版本時,很酷的事情就是打印。 我認為最好的解決辦法是用POST document.getElementsByTagName(“HTML”)的整個HTML [0] .innerHTML作為RoBorg所說然后生成與庫如DOMPDF的PDF

暫無
暫無

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

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