本文要推薦的[ToolFk]是一款程序員常用的線上免費測試工具箱,ToolFk 特點是專一於程序員平常的開發工具,不用安裝任何軟件,只要把內容貼上按一個執行按鈕,就能獲取到想要的內容結果。ToolFk還支持 BarCode條形碼在線生成、 QueryList採集器、 PHP代碼在線運行、 PHP混淆、加密、解密、 Python代碼在線運行、JavaScript在線運行、YAML格式化工具、HTTP模擬查詢工具、HTML在線工具箱、JavaScript在線工具箱、CSS在線工具箱、JSON在線工具箱、Unixtime時間戳轉換、Base64/URL/Native2Ascii轉換、CSV轉換工具箱、XML在線工具箱、WebSocket在線工具、Markdown 在線工具箱、Htaccess2nginx 轉換、進制在線轉換、在線加密工具箱、在線僞原創工具、在線APK反編譯、在線網頁截圖工具、在線隨機密碼生成、在線生成二維碼Qrcode、在線Crontab表達式生成、在線短網址生成、在線計算器工具、Linux經常使用命令大全、在線文本比較工具、在線思惟導圖工具、在線數據庫設計工具、免費CDN加速服務、在線壓力測試工具、地圖拾取座標工具、在線SQL轉換工具。等20多個平常程序員開發工具,算是一個很是全面的程序員工具箱網站。javascript
網站名稱:ToolFk
網站鏈結:www.toolfk.com/
工具連接:www.toolfk.com/tool-conver…php
本工具[Online PDF to image tool, support online PDF to PNG, PDF to JPEG, PDF to WEBP, PDF to TXT - toolfk程序員在線工具網]依賴https://xxlllq.github.io/pdf2img/庫css
STEP 1html
STEP 2java
核心代碼以下python
<script>
$("#export").attr("disabled", "disabled");
var pdfFile;
var txtArr =[];
$('#pdf').change(function() {
var load_index = layer.load();
var pdfFileURL = $('#pdf').val();
if(pdfFileURL) {
$("#imgDiv").empty();
var files = $('#pdf').prop('files');
var fileSize = files[0].size;
var mb;
if(fileSize) {
mb = fileSize / 1048576;
}
$("#export").removeAttr("disabled", "disabled");
$("#pdfName").text(files[0].name).attr("title",files[0].name);
$("#sizeText").text(mb.toFixed(2) + "Mb");
/*pdf.js沒法直接打開本地文件,因此利用FileReader轉換*/
var reader = new FileReader();
reader.readAsArrayBuffer(files[0]);
var load_inner = layer.load();
reader.onload = function(e) {
var typedarray = new Uint8Array(this.result);
PDFJS.getDocument(typedarray).then(function(pdf) {
$("#imgDiv").css("border", "0");
if(pdf) {
var pageNum = pdf.numPages;
$("#pagesText").text(pageNum);
for(var i = 1; i <= pageNum; i++) {
var canvas = document.createElement('canvas');
canvas.id = "pageNum" + i;
$("#imgDiv").append(canvas);
var context = canvas.getContext('2d');
openPage(pdf, i, context);
}
}
layer.close(load_inner);
});
};
}
layer.close(load_index);
});
function wt(wmContext,origCanvas){
wmContext.save();
wmContext.globalAlpha=0.5;
wmContext.textBaseline = 'middle';
wmContext.textAlign = 'center';
wmContext.font = "18px Comic Sans MS" ;
wmContext.fillStyle = "red";
wmContext.rotate(180*Math.PI/180);
wmContext.fillText("WaterMark Demo",200,60);
wmContext.restore();
}
function openPage(pdfFile, pageNumber, context) {
var scale = 2;
pdfFile.getPage(pageNumber).then(function(page) {
page.getTextContent().then((textContent) => {
let pageText = [];
textContent.items.forEach((textItem) => {
pageText.push(textItem.str);
});
pageText.join(' ');
txtArr[pageNumber] = pageText;
});
viewport = page.getViewport(scale);
var canvas = context.canvas;
canvas.width = viewport.width;
canvas.height = viewport.height;
canvas.style.width = "96%";
canvas.style.height = "100%";
canvas.className = 'c_class';
var renderContext = {
canvasContext: context,
viewport: viewport
};
page.render(renderContext);
});
};
function exportType(images,ext,url_ext){
$("canvas").each(function(index, ele) {
var canvas = document.getElementById("pageNum" + (index + 1));
images.file("image-" + (index + 1) + ext, dataURLtoBlob(canvas.toDataURL(url_ext, 1.0)), {
base64: true
});
});
}
$("#export").click(function() {
var modules = $("#modules");
var pdfFileURL = $('#pdf').val();
if(!pdfFileURL){
layer.msg("@lang('toolfk.lang_convert_pdf_upload').");
return false;
}
var module_val = modules.val();
if(!module_val){
layer.msg("@lang('toolfk.lang_convert_pdf_convert').");
return false;
}
var zip = new JSZip();
var images = zip.folder("toolfk-images");
if(module_val == "png"){
exportType(images,".png","image/png");
}else if(module_val == "jpeg"){
exportType(images,".jpeg","image/jpeg");
}else if(module_val == "webp"){
exportType(images,".webp","image/webp");
}else if(module_val == "txt"){
var fullTxt = "";
$.each(txtArr,function(index,ele){
if (typeof(ele) != "undefined"){
fullTxt+=ele;
}
});
images.file($("#pdfName").text() + ".txt",""+fullTxt);
}else{
layer.msg("@lang('toolfk.lang_convert_pdf_convert').");
return false;
}
zip.generateAsync({
type: "blob"
}).then(function(content) {
saveAs(content, "toolfk_com_pdf_convert.zip");
});
});
function dataURLtoBlob(dataurl) {
var arr = dataurl.split(','),
mime = arr[0].match(/:(.*?);/)[1],
bstr = atob(arr[1]),
n = bstr.length,
u8arr = new Uint8Array(n);
while(n--) {
u8arr[n] = bstr.charCodeAt(n);
}
return new Blob([u8arr], {
type: mime
});
}
</script>複製代碼
整合各種程序員開發中常用的開發測試工具。linux
簡潔美觀大氣的網站頁面nginx
支持 在線格式化執行代碼、APK在線反編譯、在線高強度密碼生成、在線網頁截圖 等二十多種工具服務git
同時還推薦一下它的姐妹網 www.videofk.com 視頻下載工具箱 程序員