導航:首頁 > 文檔加密 > js轉pdf插件

js轉pdf插件

發布時間:2024-06-22 04:53:39

1. wpsjs瀹忎繚瀛樹負pdf

璇烽棶浣犳槸鎯抽棶鈥渨psjs瀹忓備綍淇濆瓨涓簆df鈥濊繖涓闂棰樺悧錛焪psjs瀹忎繚瀛樹負pdf鐨勬搷浣滃備笅錛
宸ュ叿錛氱數鑴戙亀ps杞浠躲
1銆佹墦寮WPS琛ㄦ牸錛岀『淇濇枃妗d腑鍚鏈夐渶瑕佷繚瀛樼殑瀹忋
2銆佸湪宸ュ叿鏍忎腑鎵懼埌鈥滃畯鈥濋夐」錛岄氬父鍙浠ュ湪鈥滃父瑙勨濇垨鈥滃紑鍙戣呪濋夐」鍗′笅鎵懼埌銆
3銆佺偣鍑燴滃畯鈥濋夐」錛岀劧鍚庨夋嫨鈥滃畯綆$悊鍣ㄢ濇垨綾諱技閫夐」銆傝繖灝嗘墦寮瀹忕$悊鍣ㄥ硅瘽妗嗐
4銆佸湪瀹忕$悊鍣ㄤ腑錛岄夋嫨鎮ㄨ佷繚瀛樹負PDF鐨勫畯錛屽苟鐐瑰嚮鈥滅紪杈戔濇寜閽銆
5銆佸湪瀹忕紪杈戝櫒涓錛岀偣鍑燴滄枃浠垛濊彍鍗曪紝閫夋嫨鈥滃彟瀛樹負鈥濋夐」銆
6銆佸湪鍙﹀瓨涓哄硅瘽妗嗕腑錛岄夋嫨淇濆瓨浣嶇疆錛屼慨鏀規枃浠跺悕錛屽苟灝嗘枃浠剁被鍨嬭劇疆涓篜DF鏍煎紡銆
7銆佺偣鍑燴滀繚瀛樷濇寜閽錛屽皢瀹忎繚瀛樹負PDF鏂囦歡銆

2. 濡備綍浣跨敤Node.js鐖鍙栦換鎰忕綉欏佃祫婧愬苟杈撳嚭PDF鏂囦歡鍒版湰鍦



闇奼傦細


浣跨敤Node.js鐖鍙栫綉欏佃祫婧愶紝寮綆卞嵆鐢ㄧ殑閰嶇疆
灝嗙埇鍙栧埌鐨勭綉欏靛唴瀹逛互PDF鏍煎紡杈撳嚭
濡傛灉浣犳槸涓鍚嶆妧鏈浜哄憳錛岄偅涔堝彲浠ョ湅鎴戞帴涓嬫潵鐨勬枃絝狅紝鍚﹀垯錛岃風洿鎺ョЩ姝ュ埌鎴戠殑github浠撳簱錛岀洿鎺ョ湅鏂囨。浣跨敤鍗沖彲


浠撳簱鍦板潃:闄勫甫鏂囨。鍜屾簮鐮


鏈闇奼備嬌鐢ㄥ埌鐨勬妧鏈錛歂ode.js鍜宲uppeteer


puppeteer 瀹樼綉鍦板潃: puppeteer鍦板潃
Node.js瀹樼綉鍦板潃:閾炬帴鎻忚堪
Puppeteer鏄璋鋒瓕瀹樻柟鍑哄搧鐨勪竴涓閫氳繃DevTools鍗忚鎺у埗headless Chrome鐨凬ode搴撱傚彲浠ラ氳繃Puppeteer鐨勬彁渚涚殑api鐩存帴鎺у埗Chrome妯℃嫙澶ч儴鍒嗙敤鎴鋒搷浣滄潵榪涜孶I Test鎴栬呬綔涓虹埇鉶璁塊棶欏甸潰鏉ユ敹闆嗘暟鎹銆
鐜澧冨拰瀹夎
Puppeteer鏈韜渚濊禆6.4浠ヤ笂鐨凬ode錛屼絾鏄涓轟簡寮傛ヨ秴綰уソ鐢ㄧ殑async/await錛屾帹鑽愪嬌鐢7.6鐗堟湰浠ヤ笂鐨凬ode銆傚彟澶杊eadless Chrome鏈韜瀵規湇鍔″櫒渚濊禆鐨勫簱鐨勭増鏈瑕佹眰姣旇緝楂橈紝centos鏈嶅姟鍣ㄤ緷璧栧嚲紼沖畾錛寁6寰堥毦浣跨敤headless Chrome錛屾彁鍗囦緷璧栫増鏈鍙鑳藉嚭鐜板悇縐嶆湇鍔″櫒闂棰橈紙鍖呮嫭涓斾笉闄愪簬鏃犳硶浣跨敤ssh錛夛紝鏈濂戒嬌鐢ㄩ珮鐗堟湰鏈嶅姟鍣ㄣ傦紙寤鴻浣跨敤鏈鏂扮増鏈鐨凬ode.js錛
灝忚瘯鐗涘垁錛岀埇鍙栦含涓滆祫婧


const puppeteer = require('puppeteer'); // 寮曞叆渚濊禆
(async () => { //浣跨敤async鍑芥暟瀹岀編寮傛
const browser = await puppeteer.launch(); //鎵撳紑鏂扮殑嫻忚堝櫒
const page = await browser.newPage(); // 鎵撳紑鏂扮殑緗戦〉
await page.goto('https://www.jd.com/'); //鍓嶅線閲岄潰 'url' 鐨勭綉欏
const result = await page.evaluate(() => { //榪欎釜result鏁扮粍鍖呭惈鎵鏈夌殑鍥劇墖src鍦板潃
let arr = []; //榪欎釜綆澶村嚱鏁板唴閮ㄥ啓澶勭悊鐨勯昏緫
const imgs = document.querySelectorAll('img');
imgs.forEach(function (item) {
arr.push(item.src)
})
return arr
});
// '姝ゆ椂鐨剅esult灝辨槸寰楀埌鐨勭埇鉶鏁版嵁錛屽彲浠ラ氳繃'fs'妯″潡淇濆瓨'
})()
澶嶅埗榪囧幓 浣跨敤鍛戒護琛屽懡浠 ` node 鏂囦歡鍚 ` 灝卞彲浠ヨ繍琛岃幏鍙栫埇鉶鏁版嵁浜 榪欎釜 puppeteer 鐨勫寘 錛屽叾瀹炴槸鏇挎垜浠寮鍚浜嗗彟涓涓嫻忚堝櫒錛岄噸鏂板幓寮鍚緗戦〉錛岃幏鍙栧畠浠鐨勬暟鎹銆


涓婇潰鍙鐖鍙栦簡浜涓滈栭〉鐨勫浘鐗囧唴瀹癸紝鍋囪炬垜鐨勯渶奼傝繘涓姝ユ墿澶э紝闇瑕佺埇鍙栦含涓滈栭〉涓鐨勬墍鏈<a> 鏍囩懼瑰簲鐨勮煩杞緗戦〉涓鐨勬墍鏈 title鐨勬枃瀛楀唴瀹癸紝鏈鍚庢斁鍒頒竴涓鏁扮粍涓銆
鎴戜滑鐨刟sync鍑芥暟涓婇潰涓鍏卞垎浜嗕簲姝ワ紝 鍙鏈 puppeteer.launch() ,browser.newPage(), browser.close() 鏄鍥哄畾鐨勫啓娉曘
page.goto 鎸囧畾鎴戜滑鍘誨摢涓緗戦〉鐖鍙栨暟鎹錛屽彲浠ユ洿鎹㈠唴閮╱rl鍦板潃錛屼篃鍙浠ュ氭¤皟鐢ㄨ繖涓鏂規硶銆
page.evaluate 榪欎釜鍑芥暟錛屽唴閮ㄦ槸澶勭悊鎴戜滑榪涘叆鎯寵佺埇鍙栫綉欏電殑鏁版嵁閫昏緫
page.goto鍜宲age.evaluate涓や釜鏂規硶錛屽彲浠ュ湪async鍐呴儴璋冪敤澶氭★紝閭f剰鍛崇潃鎴戜滑鍙浠ュ厛榪涘叆浜涓滅綉欏碉紝澶勭悊閫昏緫鍚庯紝鍐嶆¤皟鐢╬age.goto榪欎釜鍑芥暟
娉ㄦ剰錛屼笂闈㈣繖涓鍒囬昏緫錛岄兘鏄痯uppeteer榪欎釜鍖呭府鎴戜滑鍦ㄧ湅涓嶈佺殑鍦版柟寮鍚浜嗗彟澶栦竴涓嫻忚堝櫒錛岀劧鍚庡勭悊閫昏緫錛屾墍浠ユ渶緇堣佽皟鐢╞rowser.close()鏂規硶鍏抽棴閭d釜嫻忚堝櫒銆

榪欐椂鍊欐垜浠瀵逛笂涓綃囩殑浠g爜榪涜屼紭鍖栵紝鐖鍙栧瑰簲鐨勮祫婧愩

const puppeteer = require('puppeteer');
(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://www.jd.com/');
const hrefArr = await page.evaluate(() => {
let arr = [];
const aNodes = document.querySelectorAll('.cate_menu_lk');
aNodes.forEach(function (item) {
arr.push(item.href)
})
return arr
});
let arr = [];
for (let i = 0; i < hrefArr.length; i++) {
const url = hrefArr[i];
console.log(url) //榪欓噷鍙浠ユ墦鍗
await page.goto(url);
const result = await page.evaluate(() => { //榪欎釜鏂規硶鍐呴儴console.log鏃犳晥
return $('title').text(); //榪斿洖姣忎釜鐣岄潰鐨則itle鏂囧瓧鍐呭
});
arr.push(result) //姣忔″驚鐜緇欐暟緇勪腑娣誨姞瀵瑰簲鐨勫
}
console.log(arr) //寰楀埌瀵瑰簲鐨勬暟鎹 鍙浠ラ氳繃Node.js鐨 fs 妯″潡淇濆瓨鍒版湰鍦
await browser.close()
})()
涓婇潰鏈夊ぉ鍧 page.evaluate鍑芥暟鍐呴儴鐨刢onsole.log涓嶈兘鎵撳嵃錛岃屼笖鍐呴儴涓嶈兘鑾峰彇澶栭儴鐨勫彉閲,鍙鑳絩eturn榪斿洖錛
浣跨敤鐨勯夋嫨鍣ㄥ繀欏誨厛鍘誨瑰簲鐣岄潰鐨勬帶鍒跺彴瀹為獙榪囪兘涓嶈兘閫夋嫨DOM鍐嶄嬌鐢錛屾瘮濡備含涓滄棤娉曚嬌鐢╭uerySelector銆傝繖閲岀敱浜
浜涓滅殑鍒嗙晫闈㈤兘浣跨敤浜唈Query錛屾墍浠ユ垜浠鍙浠ョ敤jQuery錛屾諱箣浠栦滑寮鍙戣兘鐢ㄧ殑閫夋嫨鍣錛屾垜浠閮藉彲浠ョ敤錛屽惁鍒欏氨涓嶅彲浠ャ


鎺ヤ笅鏉ユ垜浠鐩存帴鏉ョ埇鍙朜ode.js鐨勫畼緗戦栭〉鐒跺悗鐩存帴鐢熸垚PDF


鏃犺烘偍鏄鍚︿簡瑙Node.js鍜宲uppeteer鐨勭埇鉶鐨勪漢鍛橀兘鍙浠ユ搷浣滐紝璇鋒偍涓瀹氫竾鍒嗕粩緇嗛槄璇繪湰鏂囨。騫舵寜欏哄簭鎵ц屾瘡涓姝


鏈欏圭洰瀹炵幇闇奼傦細緇欐垜浠涓涓緗戦〉鍦板潃錛岀埇鍙栦粬鐨勭綉欏靛唴瀹癸紝鐒跺悗杈撳嚭鎴愭垜浠鎯寵佺殑PDF鏍煎紡鏂囨。錛岃鋒敞鎰忥紝鏄楂樿川閲忕殑PDF鏂囨。


絎涓姝ワ紝瀹夎匩ode.js ,鎺ㄨ崘http://nodejs.cn/download/錛孨ode.js鐨勪腑鏂囧畼緗戜笅杞藉瑰簲鐨勬搷浣滅郴緇熷寘

絎浜屾ワ紝鍦ㄤ笅杞藉畨瑁呭畬浜哊ode.js鍚庯紝 鍚鍔╳indows鍛戒護琛屽伐鍏(windows涓嬪惎鍔ㄧ郴緇熸悳緔㈠姛鑳斤紝杈撳叆cmd錛屽洖杞︼紝灝卞嚭鏉ヤ簡)

絎涓夋 闇瑕佹煡鐪嬬幆澧冨彉閲忔槸鍚﹀凡緇忚嚜鍔ㄩ厤緗,鍦ㄥ懡浠よ屽伐鍏蜂腑杈撳叆 node -v錛屽傛灉鍑虹幇 v10. ***瀛楁碉紝鍒欒存槑鎴愬姛瀹夎匩ode.js

絎鍥涙 濡傛灉鎮ㄥ湪絎涓夋ュ彂鐜拌緭鍏node -v榪樻槸娌℃湁鍑虹幇 瀵瑰簲鐨勫瓧孌碉紝閭d箞璇鋒偍閲嶅惎鐢佃剳鍗沖彲

絎浜旀 鎵撳紑鏈欏圭洰鏂囦歡澶癸紝鎵撳紑鍛戒護琛屽伐鍏鳳紙windows緋葷粺涓鐩存帴鍦ㄦ枃浠剁殑url鍦板潃鏍忚緭鍏cmd灝卞彲浠ユ墦寮浜嗭級錛岃緭鍏 npm i cnpm nodemon -g

絎鍏姝 涓嬭澆puppeteer鐖鉶鍖咃紝鍦ㄥ畬鎴愮浜旀ュ悗錛屼嬌鐢╟npm i puppeteer --save 鍛戒護 鍗沖彲涓嬭澆

絎涓冩 瀹屾垚絎鍏姝ヤ笅杞藉悗錛屾墦寮鏈欏圭洰鐨剈rl.js錛屽皢鎮ㄩ渶瑕佺埇鉶鐖鍙栫殑緗戦〉鍦板潃鏇挎崲涓婂幓(榛樿ゆ槸http://nodejs.cn/)

絎鍏姝 鍦ㄥ懡浠よ屼腑杈撳叆 nodemon index.js 鍗沖彲鐖鍙栧瑰簲鐨勫唴瀹癸紝騫朵笖鑷鍔ㄨ緭鍑哄埌褰撳墠鏂囦歡澶逛笅闈㈢殑index.pdf鏂囦歡涓
TIPS: 鏈欏圭洰璁捐℃濇兂灝辨槸涓涓緗戦〉涓涓狿DF鏂囦歡錛屾墍浠ユ瘡嬈$埇鍙栦竴涓鍗曠嫭欏甸潰鍚庯紝璇鋒妸index.pdf鎷瘋礉鍑哄幓錛岀劧鍚庣戶緇鏇存崲url鍦板潃錛岀戶緇鐖鍙栵紝鐢熸垚鏂扮殑PDF鏂囦歡錛屽綋鐒訛紝鎮ㄤ篃鍙浠ラ氳繃寰鐜緙栬瘧絳夋柟寮忓幓涓嬈℃х埇鍙栧氫釜緗戦〉鐢熸垚澶氫釜PDF鏂囦歡銆


瀵瑰簲鍍忎含涓滈栭〉榪欐牱鐨勫紑鍚浜嗗浘鐗囨噿鍔犺澆鐨勭綉欏碉紝鐖鍙栧埌鐨勯儴鍒嗗唴瀹規槸loading鐘舵佺殑鍐呭癸紝瀵逛簬鏈変竴浜涘弽鐖鉶鏈哄埗鐨勭綉欏碉紝鐖鉶涔熶細鍑虹幇闂棰橈紝浣嗘槸緇濆ぇ澶氭暟緗戠珯閮芥槸鍙浠ョ殑

const puppeteer = require('puppeteer');
const url = require('./url');
(async () => {
const browser = await puppeteer.launch({ headless: true })
const page = await browser.newPage()
//閫夋嫨瑕佹墦寮鐨勭綉欏
await page.goto(url, { waitUntil: 'networkidle0' })
//閫夋嫨浣犺佽緭鍑虹殑閭d釜PDF鏂囦歡璺寰勶紝鎶婄埇鍙栧埌鐨勫唴瀹硅緭鍑哄埌PDF涓錛屽繀欏繪槸瀛樺湪鐨凱DF錛屽彲浠ユ槸絀哄唴瀹癸紝濡傛灉涓嶆槸絀虹殑鍐呭筆DF錛岄偅涔堜細瑕嗙洊鍐呭
let pdfFilePath = './index.pdf'
//鏍規嵁浣犵殑閰嶇疆閫夐」錛屾垜浠榪欓噷閫夋嫨A4綰哥殑瑙勬牸杈撳嚭PDF錛屾柟渚挎墦鍗
await page.pdf({
path: pdfFilePath,
format: 'A4',
scale: 1,
printBackground: true,
landscape: false,
displayHeaderFooter: false
});
await browser.close()
})()
鏂囦歡瑙f瀯璁捐




鏁版嵁鍦ㄨ繖涓鏃朵唬闈炲父鐝嶈吹錛屾寜鐓х綉欏電殑璁捐¢昏緫錛岄夊畾鐗瑰畾鐨刪ref鐨勫湴鍧錛屽彲浠ュ厛鐩存帴鑾峰彇瀵瑰簲鐨勮祫婧愶紝涔熷彲浠ラ氳繃鍐嶆′嬌鐢 page.goto鏂規硶榪涘叆錛屽啀璋冪敤 page.evaluate() 澶勭悊閫昏緫錛屾垨鑰呰緭鍑哄瑰簲鐨凱DF鏂囦歡錛屽綋鐒朵篃鍙浠ヤ竴鍙f皵杈撳嚭澶氫釜PDF鏂囦歡~


榪欓噷灝變笉鍋氳繃澶氫粙緇嶄簡錛屾瘯絝 Node.js 鏄鍙浠ヤ笂澶╃殑錛屾垨璁告湭鏉ュ畠鐪熺殑浠涔堥兘鑳藉仛銆傝繖涔堜紭璐ㄧ畝鐭鐨勬暀紼嬶紝璇鋒敹鈃
鎴栬呰漿鍙戠粰鎮ㄧ殑鏈嬪弸錛岃阿璋銆

3. 如何用nodejs把word轉成pdf

如果你用2007版或以上的WORD軟體、WPS Office系統,可將WORD文檔另存PDF格式,即可將WORD文檔轉換為PDF格式; 如果你用的是2003版或以下的WORD軟體,請安裝Adobe Acrobat XI Pro軟體,用Adobe PDF列印機列印你要輸出的內容,即可得到PDF格式文檔。

4. nodejs讀取pdf並翻轉內容保存pdf

nodejs讀取pdf並翻轉內容保存pdf需以下幾個步驟。
1、啟動windows命令行工具(windows下啟巧坦動系統搜索功能,輸入cmd回車就出來了)。穗沒
2、查看環境變數是否已經自動配置,在命令行工具中輸入node-v,如果出現v10欄位,則說明成功安裝Node.js。
3、在第三步發現輸入node-v還是沒有出現對應的欄位,那麼重啟電腦即可。
4、打開本項目文件夾,打開命令行工具(孝族桐windows系統中直接在文件的url地址欄輸入cmd就可以打開了),輸入npmicnpmnodemon-g。
5、下載puppeteer爬蟲包,在完成第五步後,使用cnpmipuppeteer--save命令下載。
6、完成第六步下載後,打開本項目的url.js,將您需要爬蟲爬取的網頁地址替換上去。
7、在命令行中輸入nodemonindex.js即可爬取對應的內容,並且自動輸出到當前文件夾下面的index.pdf文件中。

閱讀全文

與js轉pdf插件相關的資料

熱點內容
python的事務管理演算法 瀏覽:749
榮耀8x使用了方舟編譯器嗎 瀏覽:256
紅塵直播app在哪裡下載啊 瀏覽:180
app鏈接在哪裡弄 瀏覽:643
水印相機收藏文件夾 瀏覽:570
如何懟程序員面試官 瀏覽:260
應用加密的優缺點 瀏覽:74
程序員培訓班不給錢 瀏覽:513
一堆伺服器能做什麼盈利 瀏覽:367
v20方舟編譯器推送 瀏覽:395
痛點pdf 瀏覽:916
php二維數組取部分值 瀏覽:390
重構流程壓縮時間高效管控 瀏覽:690
phpform參數詳解 瀏覽:559
此伺服器未開啟是什麼意思 瀏覽:83
python怎樣定義全局變數 瀏覽:159
加密代碼和加密編碼 瀏覽:93
將項目部署到伺服器有什麼作用 瀏覽:437
自研演算法視頻大全 瀏覽:702
寶可夢源碼下載 瀏覽:343