Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
兩天有個客戶需要把網(wǎng)頁轉(zhuǎn)為pdf,之前也沒開發(fā)過類似的工具,就在百度搜索了一波,主要有下面三種
在百度(我一般用必應(yīng))搜索“在線網(wǎng)頁轉(zhuǎn)pdf”就有很多可以做這個事的網(wǎng)站,免費的如
各種pdf的操作都有,免費使用,速度一般。
官網(wǎng)地址https://tools.pdf24.org/zh
PDF24 Tools
開源免費項目,使用golang寫的,提供在線轉(zhuǎn)
官網(wǎng)地址http://doctron.lampnick.com/
doctron在線體驗demo
還有挺多其他的,可以自己搜索,但是都不符合我的預(yù)期。
Doctron,這是我今天要介紹的重頭戲。
Doctron是基于Docker、無狀態(tài)、簡單、快速、高質(zhì)量的文檔轉(zhuǎn)換服務(wù)。目前支持將html轉(zhuǎn)為pdf、圖片(使用chrome(Chromium)瀏覽器內(nèi)核,保證轉(zhuǎn)換質(zhì)量)。支持PDF添加水印。
管他的,先把代碼下載下來再說
git clone https://gitcode.net/mirrors/lampnick/doctron.git
倉庫
運行
go build
./doctron --config conf/default.yaml
運行截圖
轉(zhuǎn)pdf,訪問http://127.0.0.1:8080/convert/html2pdf?u=doctron&p=lampnick&url=<url>,更換鏈接中的url為你需要轉(zhuǎn)換的url即可。
轉(zhuǎn)換效果
然后就可以寫程序去批量轉(zhuǎn)換需要的網(wǎng)頁了,但是我需要轉(zhuǎn)換的網(wǎng)頁有兩個需求
1、網(wǎng)站需要會員登錄,不然只能看得到一部分
2、需要把網(wǎng)站的頭和尾去掉的
這就為難我了,不會go語言啊,硬著頭皮搞了,肯定有個地方打開這個url的,就去代碼慢慢找,慢慢調(diào)試,功夫不負(fù)有心人,終于找到調(diào)用的地方了。
第一步:添加網(wǎng)站用戶登錄cookie
添加cookie之前
添加cookie之后
第二步:去掉網(wǎng)站頭尾
chromedp.Evaluate(`$('.header').css("display" , "none");
$('.btn-group').css("display" , "none");
$('.container .container:first').css("display" , "none");
$('.breadcrumb').css("display" , "none");
$('.footer').css("display" , "none")`, &ins.buf),
打開網(wǎng)頁后執(zhí)行js代碼把頭尾隱藏掉
第三步:程序化,批量自動生成pdf
public static void createPDF(String folder , String cl , String pdfFile, String urlhref) {
try {
String fileName = pdfFile.replace("/", ":");
String filePath = folder + fileName;
File srcFile = new File(filePath);
File newFolder = new File("/Volumes/disk2/myproject" + File.separator + cl);
File destFile = new File(newFolder, fileName);
if(destFile.exists()){
return;
}
if(srcFile.exists()){
//移動到對應(yīng)目錄
if(!newFolder.exists()){
newFolder.mkdirs();
}
FileUtils.moveFile(srcFile , destFile);
return;
}
if(!newFolder.exists()){
newFolder.mkdirs();
}
String url = "http://127.0.0.1:8888/convert/html2pdf?u=doctron&p=lampnick&url="+urlhref;
HttpEntity<String> entity = new HttpEntity<String>(null, null);
RestTemplate restTemplate = new RestTemplate();
ResponseEntity<byte[]> bytes = restTemplate.exchange(url, HttpMethod.GET, entity, byte[].class);
if (bytes.getBody().length <= 100) {
if(urlList.containsKey(urlhref)){
Integer failCount = urlList.get(urlhref);
if(failCount > 3){
System.out.println("下載失敗:" + cl + " / " + pdfFile +" " + urlhref);
return;
}
failCount++;
urlList.put(urlhref , failCount);
}else{
urlList.put(urlhref , 1);
}
createPDF(folder , cl , pdfFile , urlhref);
}else{
if (!destFile.exists()) {
try {
destFile.createNewFile();
} catch (Exception e) {
e.printStackTrace();
}
}
try (FileOutputStream out = new FileOutputStream(destFile);) {
out.write(bytes.getBody(), 0, bytes.getBody().length);
out.flush();
} catch (Exception e) {
e.printStackTrace();
}
}
} catch (Exception e) {
e.printStackTrace();
}
}
最終成果:
文件夾分類存放
pdf文件
于程序員來說,每天編寫代碼是他們必做的事。就像從事網(wǎng)課教育行業(yè)的小伙伴來說,他們需要在代碼的框架里加入PDF文檔的講義內(nèi)容。如果采取手動撰寫PDF里的內(nèi)容會拉低整體的工作效率,但是直接添加將PDF轉(zhuǎn)換為HTML格式用到程序框架中的話,就可以省掉許多無謂步驟了。那你們知道PDF轉(zhuǎn)HTML格式怎么弄?下面我就來告訴你們幾個簡單的轉(zhuǎn)換方法,你們快來看看吧!
方法一:使用全能PDF轉(zhuǎn)換助手
這是一款專業(yè)的文件轉(zhuǎn)換軟件,它能支持很多種文件轉(zhuǎn)換格式,包括PDF轉(zhuǎn)HTML、PDF轉(zhuǎn)Word、PDF轉(zhuǎn)Excel、PDF轉(zhuǎn)PPT、WPS轉(zhuǎn)Word、CAD轉(zhuǎn)圖片等格式,而且它大部分的轉(zhuǎn)換功能都支持批量的文件導(dǎo)入,對于辦公人士來說,非常方便。
操作如下:
第一步:首先在電腦上打開該軟件,點擊【PDF轉(zhuǎn)其他】,選擇【PDF轉(zhuǎn)HTML】,導(dǎo)入一個或者多個需要轉(zhuǎn)換的PDF文件。
第二步:根據(jù)我們的需要,在文件后面選擇要轉(zhuǎn)換的頁碼,再點擊右下角的【開始轉(zhuǎn)換】,稍等片刻,系統(tǒng)就會自動轉(zhuǎn)換并下載好HTML格式的文件了。
另外這款軟件還新推出了手機APP版本,可以隨時幫助我們進行轉(zhuǎn)換文件格式、翻譯、壓縮等操作,如果你們有興趣的話,也可以去下載試一試。
方法二:使用萬能文字識別軟件
這個軟件雖然是一個識別軟件,但它的功能也不少。該軟件也支持PDF轉(zhuǎn)換處理,我們只需使用這個軟件就可以快速地把PDF轉(zhuǎn)換HTML格式。
操作如下:
第一步:首先依次點擊該軟件的【PDF轉(zhuǎn)換處理】——【PDF轉(zhuǎn)HTML】,然后導(dǎo)入需要轉(zhuǎn)換格式的PDF文件。
第二步:然后根據(jù)我們的需要點擊下面的【添加文件】添加多個需要轉(zhuǎn)換的PDF文件,再點擊【開始轉(zhuǎn)換】,HTML的格式就轉(zhuǎn)換好了。
以上就是今天的內(nèi)容,現(xiàn)在你們應(yīng)該都知道PDF轉(zhuǎn)HTML格式怎么弄了吧?如果大家還知道其他更好的方法,歡迎在評論區(qū)留言哦。
數(shù)字化時代,HTML網(wǎng)頁文件已成為我們獲取和分享信息的主要方式。但有時,為了保留網(wǎng)頁的格式和內(nèi)容,我們可能需要將其轉(zhuǎn)換為PDF文檔。此時,首助編輯高手軟件將是您的得力助手。下面,就讓我們一起了解如何使用首助編輯高手將HTML網(wǎng)頁文件轉(zhuǎn)為PDF文檔。
第一步,打開軟件,在眾多功能板塊中,選擇“PDF編輯工具”中的“批量轉(zhuǎn)換格式”功能
第二步,在轉(zhuǎn)換模式對應(yīng)的下拉列表中,將選項切換為“HTML轉(zhuǎn)PDF”
第三步,通過“添加文件”或者“添加文件夾中的文件”將HTML網(wǎng)頁文件導(dǎo)入,支持導(dǎo)入多個
第四步,設(shè)置新文件保存位置,可以將新文件保存在原文件相同位置,也可以指定位置
第五步,確定選擇好一系列相關(guān)的選項之后,單擊右下角的“開始轉(zhuǎn)換”按鈕
第六步,提示轉(zhuǎn)換成功后,打開文件夾查看,所有HTNL網(wǎng)頁文件都被轉(zhuǎn)為PDF文檔,最后也可以打開原文件進行對比,原文件均為HTML,說明轉(zhuǎn)換成功
總之,軟件以其簡潔的操作界面、強大的功能和高效的轉(zhuǎn)換速度,成為了將HTML網(wǎng)頁文件轉(zhuǎn)為PDF文檔的理想選擇。無論您是學(xué)生、上班族還是專業(yè)人士,都能滿足您的需求,讓您的文檔處理變得更加輕松和高效。趕快下載并體驗首助編輯高手吧!
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。