Ⅰ js編輯pdf文件
如何使用js將html轉換為PDF文件utils-htmlToPdf.jsmain.js如果在多個頁面使用,給函數定義一個參數,參數為要導出頁面部分的id。
本文實例講述了JS實現的將html轉為pdf功能。
生成pdf,然後將pdf上傳雲上伺服器。選擇pyppeteer,有如下依據,python官方庫如xhtml2pdf只能處理類似富文本類的靜態頁面,而html需要js渲染,故藉助瀏覽器是一種可行的實現方式,tornado是非同步框架,pyppeteer是非同步庫匹配。
然後選擇「列印」,然後選擇另存為PDF就可以了,如下圖所示:選擇目標另存為PDF,這個是將整個網頁轉換成PDF文件的,有時網頁很長可能會有3頁的PDF。
如何在PDF文件中調用JAVASCRIPT1、大綱視圖打開PPT演示文稿,單擊大綱,在左側幻燈片/大綱」任務窗格的「大綱」選項卡里單擊一下滑鼠,按Ctrl+A組合健全選內容,然後使用Ctrl+C組合鍵或右鍵單擊在快捷菜單中選擇復制命令,然後粘貼到Word里。
2、網頁里的JavaScript做不了這個,就象JavaScript控制不了Flash一樣,兩個東西的運行環境不一樣。
3、將pdf流生成pdf文件,然後在將pdf文件使用PDF.js進行查看。你需要考慮瀏覽器兼容性,低版本瀏覽器可能沒辦法支持。
4、這個方法可以參考文獻http://blog.csdn.net/youthon/article/details/32717471在網頁上你獲取用戶輸入的信息後傳入後台先可以寫成一個txt文件到系統的一個目錄下,然後再讀取這個文件,進行轉換成pdf。一個解決思路。
pdf.js第一頁反轉1、PDF軟體中視圖-反轉視圖,如果這個反轉視圖前面打勾的話,那你取消就能恢復原樣了。
2、如果你所使用的pdf文件,頁碼順序發生了錯誤,那麼就可以先將文件中的頁碼給全部刪除掉,然後再給pdf文件重新添加上頁碼。
3、啟動windows命令行工具(windows下啟動系統搜索功能,輸入cmd回車就出來了)。查看環境變數是否已經自動配置,在命令行工具中輸入node-v,如果出現v10欄位,則說明成功安裝Node.js。
4、純js實現分頁方法一:廢話不多說,直接上代碼了!註:本項目是全程使用js來寫的,前台的數據通過ajax進行獲取,然後再進行拼裝,動態載入到頁面。
5、PDF.js是一個由HTML5建立的PDF閱讀器。依託開源社區驅動和Mozilla實驗室的技術支持。
6、安裝和引入pdf.js包。(這里不再做過多的贅述)渲染pdf,同事添加div,進行用來存儲文字,保證文字可以被選取復制。通過input標簽獲取到數據文件,然後通過getPDF()方法進行渲染。
js修改現有pdf的文字js使用裡面的div功能來修改現有pdf的文字。js是開發中的一種程序設計工具,人們可以使用裡面的div代碼功能來實現對pdf文字的修改。
單擊文字選中文字,點擊滑鼠右鍵—「屬性列表」,打開「屬性」對話框,點擊相應的項即可修改。比如要改變字的大小,點擊「字體大小」項,在:「值」欄里輸入需要的數字(數字越大字體也越大)後再按「Enter」即可。
用極速PDF編輯器打開我們需要修改的PDF文件,選擇工具欄中的【對象工具】,接著在圖片處右擊並選擇【圖像】—【提取到文件】。然後將圖片以【PNG或JPG】格式保存到電腦桌面。
nodejs讀取pdf並翻轉內容保存pdf1、打開word2003,點擊文件,選擇另存為。在另存為界面,選擇格式pdf,點擊保存即可完成。
2、首先需要引入fs模塊,這是nodejs自帶的。
3、感覺就是循環太大,導致內存超過v8內存限制,但是目前對於這種2個表的查詢我沒找到好的方法,只能在程序裡面處理這種大數據的循環,不停的讀寫資料庫。
如何用js生成pdf
1、AngularJS是瀏覽器端運行的,無法完成創建pdf功能。AngularJS通過以下技術來解決靜態網頁技術在構建動態應用上的不足:類庫-類庫是一些函數的集合,它能幫助你寫WEB應用。起主導作用的是你的代碼,由你來決定何時使用類庫。
2、jspdf隱藏某個元素生成pdf在id上切換來解析該項。就是把html內容轉成canvas,然後生成圖片,把圖片添加到jspdf里,保存導出pdf優點:生成的pdf清晰度良好,且支持中文字體。
3、直接用js是實現不了的,可以用js調用列印的功能,然後客戶端安裝了pdf列印(另存pdf).這個由客戶端決定,做網站的人決定不了。
Ⅱ pdf.js實現文字可復制並且選取文字背景不一致,修改選取文字背景
一、安裝和引入pdf.js包。(這里不再做過多的贅述)
二、渲染pdf,同事添加div,進行用來存儲文字,保證文字可以被選取復制。
通過input標簽獲取到數據文件,然後通過getPDF()方法進行渲染。
renderPDF()方法
至此,其實已經實現了pdf文字可復制的要求。但是,由於各個div里的文字寬度和高度的不同,導致選取文字的時候,選取的背景顏色不同統一,需要進行統一背景樣式。
思路:渲染完成pdf以後,監聽頁面的滑鼠按下事件和滑鼠彈起事件。當用戶選取文字完成以後,獲取選取文字的長度和寬度,獲取選取文字距離上邊框和右邊框的值。通過獲取的值來創建div並設置長度寬度以及瞎拍背景顏色,對文字腔信進行遮罩,最後取消用戶選擇的文字。
1、首先確認滑鼠點擊相對文檔的開始位置:
2、確認用戶選取的文字是從哪開始,在哪結束。
3、最後通過applyColours()進行渲染。
applyColours()判斷了很多種情況,當用戶值選擇了一行的情況,當渲染的文字有還行遞歸調用回來的等多種情況。同事判斷是否換行是通過第一個節點與第二個節點的top值絕對值是否大於10,大於10就表示換行。同時,節點後面兩個節點如果就調用另外一個渲染方法。
otherMothodload()方法:
至此,任務完成。
效果入下圖:
未優化前:
優化後:
這種方法雖然實現背景的渲染,但是存在幾個問題:
1、渲染第一行文字的位置是通過滑鼠按下的位置來確定的,但磨圓羨是當用戶滑鼠按下的位置與選取的文字的位置偏差較大,會導致渲染的div與選取的文字位置有偏差。如下圖:
2、選取文字的長度和寬度是通過獲取文字的內容,文字的size,以及文字的字體。再頁面中創建一個span標簽,然後把文字帶進document里,獲取到寬度和高度。這種方法有些文字渲染出來的長度太長。如下圖:
附上獲取長度和寬度的方法:
以上兩個問題,希望有大神給我一點思路和解決方案。歡迎小夥伴跟我一起討論。
附上項目github:https://github.com/caohelen/pdfjs