導航:首頁 > 文檔加密 > htmltopdfpython

htmltopdfpython

發布時間:2025-01-27 10:25:15

python如何復制子目錄下的文件到指定文件夾

我前幾天正好寫了一個類似的,你看一下。
對於你說的那種活動目錄改變的情況在移動文件時用成絕對路徑就沒問題了。
文件分享時限是一個星期,請需要的話即使下載。過期的話以我的個性可能不會再上傳連接...
鏈接:http://pan..com/s/1qYfqQ1u 密碼:o3dk

Ⅱ 如何創建pdf的buffer,讓pdf.js實現預覽pdf文件

pdf.js簡介

PDF.js 是基於開放的 HTML5 及 javaScript 技術實現的開源產品。簡單說就是一個 PDF
解析器。運用HTML5JavaScript(即pdf.js僅使用安全的web語言,不包含任何攻擊者可以用的本地代碼塊)的PDF閱讀器pdf.js,直接在標準的HTML頁面上載入和渲染PDF文件, 還可以提高安全性(不需要安裝第三方插件,安全性由瀏覽器保證),瀏覽器所做的安全措施已經為pdf.js提供了安全的運行環境。其對IE和 FireFox瀏覽器的要求是IE9+, FireFox19+。

在線示例: http://jsbin.com/pdfjs-helloworld-v2/1/edit
, http://jsbin.com/pdfjs-prevnext-v2/1/edit

源碼:https://github.com/mozilla/pdf.js

官網:http://mozilla.github.io/pdf.js/

pdf.js VS 傳統瀏覽器讀取pdf

一般來說,PDF檔案格式都是在瀏覽器中由外掛程式來描繪,通常是Adobe自己的PDF
reader或來自其他供應商的描繪工具,但這些外掛通常無法充分運用PDF的特點,而且由於含有大量的受信任代碼,使得Google
Chrome瀏覽器必須運用SandBox沙箱原理,來檢查PDF描繪工具是否遭到未知病毒感染。

使用adobe,必須在本地安裝軟體才能使用,而pdf.js不依賴環境、渲染速度快(測試過,確實很快)、安全性高。

pdf.js渲染PDF文件

pdf.js渲染PDF文件的流程:Fetch pdf (url / buffer) ——> canvas ——> 渲染

如果要深入pdf的渲染,需要去研究pdf.js源代碼。pdf.js可通過pdf文件的地址或pdf數據流獲取pdf,具體實現是調用介面函數 PDFJs.getDoc(url/buffer)將pdf載入html,通過canvas處理, 然後渲染pdf文件。網上給出的都是通過url來獲取pdf的例子,而我在做項目的時候,後台(Python)要求是發pdf的數據流給前台,前台接收pdf的buffer,然後通過pdf.js來渲染。當然最初嘗試buffer出現了很多問題,具體問題總結如下:

1)如何通過$.ajax接收後台發給前台的buffer數據;

2)如何將buffer傳給pdf.js來處理(這里我使用了viewer.js, 所以需要考慮的是如何將buffer傳給viewer.js來處理);

3)如何將pdf.js轉換成pdf.js可以接收的buffer格式;

(對應問題解決見代碼注釋)

註:viewer.js是pdf.js的擴展,其將列印、翻頁、縮放等功能進行了實現,且界面非常好看。也就是說如果你引入了viewer.js,pdf的渲染和渲染之後的功能界面都已經幫你實現了,你不用自己去寫界面。

先從官網:http://mozilla.github.io/pdf.js/ 下載代碼,然後使用文件viewer.html
, 我的html就是在viewer.html 的基礎上修改的,下面我給出buffer的例子:

<!DOCTYPE html>
<html dir="ltr" mozdisallowselectionprint moznomarginboxes>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta name="google" content="notranslate">
<title>在線預覽</title>
{% load static %}{% get_static_prefix as STATIC_URL %}
<link href="{{STATIC_URL}}css/preview.css" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="{{STATIC_URL}}pdfjs/web/viewer.css"/>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/compatibility.js"></script>
<link rel="resource" type="application/l10n" href="{{STATIC_URL}}pdfjs/web/locale/locale.properties"/>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/l10n.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/build/pdf.js"></script>
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/debugger.js"></script>
<script src="{{STATIC_URL}}js/jquery-1.8.3.js" type="text/javascript"></script>
<script type="text/javascript">

//convertDataURIToBinary()

//不知道什麼原因如果後台直接將pdf的數據流發給前台,得到的是亂碼,將數據轉換成 Uint8Array始終不成功

//所以就讓後台將發送之前的數據流做 了base64編碼發給前台,前台再解碼得到的數據就不是亂碼了。

var BASE64_MARKER = ';base64,';

var preFileId = {{mark}};

//viewer.js全局變數,傳入buffer,回答問題2
var DEFAULT_URL

$(document).ready(function(){
$.ajax({
type:"post",
async: false,

//ajax接收pdf數據流,注意dataType值的設置是否有錯,如果不指定,jQuery將自動根據HTTP包MIME信息返回

//responseXML或responseText
. 回答問題1
contentType:"application/pdf;charset=utf-8",
url:"{% url netPan.File.views.browserFuf%}",
data:{
id: preFileId
},
success:function(data){
var pdfAsDataUri = data;

//如果引入了viewer.js , 處理方法
var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);
DEFAULT_URL = pdfAsArray;

// 只引入了pdf.js, 未引入viewer.js, 處理方法

// var pdfAsArray = convertDataURIToBinary(pdfAsDataUri);

// PDFJS.getDocument(pdfAsArray).then(); 自己寫pdf的處理函數

}
});
});

function convertDataURIToBinary(dataURI) { //編碼轉換,回答問題3

var base64Index = dataURI.indexOf(BASE64_MARKER) + BASE64_MARKER.length;
var base64 = dataURI.substring(base64Index);
var raw = window.atob(base64);
var rawLength = raw.length;

//轉換成pdf.js能直接解析的Uint8Array類型,見pdf.js-4068
var array = new Uint8Array(new ArrayBuffer(rawLength));

for(i = 0; i < rawLength; i++) {
array[i] = raw.charCodeAt(i);
}
return array;
}
</script>

<!--先設置全局變數DEFAULT_URL 的值,所以要後調入viewer.js -->
<script type="text/javascript" src="{{STATIC_URL}}pdfjs/web/viewer.js"></script>
</head>

<body>

省略內容

</body>

</html>

Ⅲ 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文件中調用JAVASCRIPT

1、大綱視圖打開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並翻轉內容保存pdf

1、打開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).這個由客戶端決定,做網站的人決定不了。

閱讀全文

與htmltopdfpython相關的資料

熱點內容
車上的app怎麼重設 瀏覽:22
指定文件夾屬性 瀏覽:131
linuxphp編程 瀏覽:335
以下不正確的是雲伺服器 瀏覽:909
琉璃神社壓縮密碼 瀏覽:715
大一學生解壓視頻 瀏覽:373
單位電腦e盤加密輸入正確密碼 瀏覽:873
phpfileupload 瀏覽:634
刑拘程序員 瀏覽:615
51單片機飛行器 瀏覽:166
安卓如何應用息屏工作 瀏覽:21
iphone怎麼找到安裝過的app 瀏覽:39
我的世界的伺服器ip地址和埠 瀏覽:535
鎮江程序員接私活有什麼途徑 瀏覽:172
java繼承與覆蓋 瀏覽:339
電腦版我的世界如何安裝伺服器 瀏覽:12
為什麼安卓手機玩不了水果忍者 瀏覽:358
穿jk上班的男程序員 瀏覽:553
php列印請求頭 瀏覽:605
對點傳輸app怎麼設置 瀏覽:874