Ⅰ 為什麼pdf格式的文件用迅雷無法下載
下載的時候彈出用迅雷下載,你直接取消。然後就會自動用IE下載。相當於目標另存為,缺點就是速度慢點
Ⅱ VBK文件如何轉換為PDF文件
有一個軟體叫做getpdf。作用是把VBK文件虛擬族雀列印,完大笑成滾穗含後就會給你PDF文件。因為CFA的教材都很大,所以耐心等他弄完,不然就容易出現半截書的情況。給分。
Ⅲ 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
Ⅳ javascript接收後台返回值時如何保留轉義字元「\」
在轉義字元前再加入一個「\」就可以了
滿意請採納
Ⅳ java導出PDF文檔
java導出pdf需要用到iText庫,iText是著名的開放源碼的站點sourceforge一個項目,是用於生成PDF文檔的一個java類庫。通過iText不僅可以生成PDF或rtf
的文檔,而且可以將XML、Html文件轉化為PDF文件。
iText的安裝非常方便,下載iText.jar文件後,只需要在系統的CLASSPATH中加入iText.jar的路徑,在程序中就可以使用
iText類庫了。
代碼如下:
public class createPdf {
//自己做的一個簡單例子,中間有圖片之類的
//先建立Document對象:相對應的 這個版本的jar引入的是com.lowagie.text.Document
Document document = new Document(PageSize.A4, 36.0F, 36.0F, 36.0F, 36.0F);
public void getPDFdemo() throws DocumentException, IOException{
//這個導出用的是 iTextAsian.jar 和iText-2.1.3.jar 屬於比較老的方法。 具體下在地址見:
//首先
//字體的定義:這里用的是自帶的jar裡面的字體
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", false);
// 當然你也可以用你電腦裡面帶的字體庫
//BaseFont bfChinese = BaseFont.createFont("C:/WINDOWS/Fonts/SIMSUN.TTC,1",BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
//定義字體 注意在最新的包裡面 顏色是封裝的
Font fontChinese8 = new Font(bfChinese, 10.0F, 0, new Color(59, 54, 54));
//生成pdf的第一個步驟:
//保存本地指定路徑
saveLocal();
document.open();
ByteArrayOutputStream ba = new ByteArrayOutputStream();
// PdfWriter writer = PdfWriter.getInstance(document, ba);
document.open();
//獲取此編譯的文件路徑
String path = this.getClass().getClassLoader().getResource("").getPath();
//獲取根路徑
String filePath = path.substring(1, path.length()-15);
//獲取圖片路徑 找到你需要往pdf上生成的圖片
//這里根據自己的獲取的路徑寫 只要找到圖片位置就可以
String picPath = filePath +"\\WebContent" +"\\images\\";
//往PDF中添加段落
Paragraph pHeader = new Paragraph();
pHeader.add(new Paragraph(" 你要生成文字寫這里", new Font(bfChinese, 8.0F, 1)));
//pHeader.add(new Paragraph("文字", 字體 可以自己寫 也可以用fontChinese8 之前定義好的 );
document.add(pHeader);//在文檔中加入你寫的內容
//獲取圖片
Image img2 = Image.getInstance(picPath +"ccf-stamp-new.png");
//定義圖片在文檔中顯示的絕對位置
img2.scaleAbsolute(137.0F, 140.0F);
img2.setAbsolutePosition(330.0F, 37.0F);
//將圖片添加到文檔中
document.add(img2);
//關閉文檔
document.close();
/*//設置文檔保存的文件名
response.setHeader("Content-
disposition", "attachment;filename=\""+ new String(("CCF會員資格確認
函.pdf").getBytes("GBK"),"ISO-8859-1") + "\"");
//設置類型
response.setContentType("application/pdf");
response.setContentLength(ba.size());
ServletOutputStream out = response.getOutputStream();
ba.writeTo(out);
out.flush();*/
}
public static void main(String[]args) throws DocumentException, IOException{
createPdf pdf= new createPdf();
pdf.getPDFdemo();
}
//指定一個文件進行保存 這里吧文件保存到D盤的text.pdf
public void saveLocal() throws IOException, DocumentException{
//直接生成PDF 制定生成到D盤test.pdf
File file = new File("D:\\text2.pdf");
file.createNewFile();
PdfWriter.getInstance(document, new FileOutputStream(file));
}
}
Ⅵ java操作pdf文件,能否找到某個關鍵詞所在的頁碼 謝謝!
我剛剛做得一個PDF輸出的一個小功能 發給你不知道對你有沒有幫助
public static void getPDFDocument(ArrayList<UserTbl> list) throws DocumentException, IOException, BadElementException{
// ドキュメントの初期化
Document document = new Document(PageSize.A4);
// システム時間を取得する
Date date = new Date();
SimpleDateFormat formatter=new SimpleDateFormat("yyyy-MM-dd HH'時'mm'分'ss'秒'");
SimpleDateFormat formatter2=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
String dateString=formatter.format(date);
String dateString2=formatter2.format(date);
// ドキュメントURLの設定
String filePath = "e://"+dateString+".pdf";
PdfWriter.getInstance(document, new FileOutputStream(filePath));
// ドキュメントをオープンする
document.open();
// 文字様式を設定
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font f11 = new Font(bfChinese, 11, Font.NORMAL);
Font f8 = new Font(bfChinese, 8, Font.NORMAL);
Font f12 = new Font(bfChinese, 12, Font.BOLD);
// タイトルを作成する
Paragraph p1 = new Paragraph("利用者情報一覧\n", f12);
p1.setAlignment(Element.ALIGN_CENTER);
document.add(p1);
Paragraph p2 = new Paragraph("時間:"+dateString2+"\n\n", f11);
p2.setAlignment(Element.ALIGN_RIGHT);
document.add(p2);
// テーブルを作成する
PdfPTable table = new PdfPTable(7);
PdfPCell cell = new PdfPCell();
cell.setHorizontalAlignment(PdfPCell.ALIGN_CENTER);
cell.setPhrase(new Paragraph("PCログインID", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("お名前我", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("メールアドレス", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("攜帯ログインID", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("所屬", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("屬性", f8));
table.addCell(cell);
cell.setPhrase(new Paragraph("データ種別", f8));
table.addCell(cell);
document.add(table);
table.setWidthPercentage(100);
// テーブルの中の內容
for(UserTbl bean : list){
document.add(getPdfHeader(bean,list));
}
document.close();
}
public static PdfPTable getPdfHeader(UserTbl bean,ArrayList<UserTbl> list) throws DocumentException, IOException{
PdfPTable table = new PdfPTable(7);
BaseFont bfChinese = BaseFont.createFont("STSong-Light", "UniGB-UCS2-H", BaseFont.NOT_EMBEDDED);
Font f8 = new Font(bfChinese, 8, Font.NORMAL);
// PCログインID
String userId = StringUtils.trim(bean.getUser_id());
// お名前
String userName = StringUtils.trim(bean.getUser_name());
// メールアドレス
String mobileMail = StringUtils.trim(bean.getMobile_mail());
// 攜帯ログインID
String mobileId = StringUtils.trim(bean.getMobile_id());
// 所屬
String MobilePass = StringUtils.trim(bean.getMobile_pass());
// 屬性
String attr = StringUtils.trim(bean.getAttr());
// データ種別
String secName = StringUtils.trim(bean.getSec_name());
//寫入table
PdfPCell cell = new PdfPCell();
cell.setPhrase(new Paragraph(userId, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(userName, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(mobileMail, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(mobileId, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(MobilePass, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(attr, f8));
table.addCell(cell);
cell.setPhrase(new Paragraph(secName, f8));
table.addCell(cell);
return table;
}
}
Ⅶ getpdf是什麼文件
get是一個網路流行語,pdf全稱PortableDocumentFormat,譯為可移渣巧植文檔格式,是一種攜帶型、可移植文碼簡檔文件格式,是由AdobeSystems用於與應用程序、操作系統、硬體無關的方式進行文件交換所如模鍵發展出的文件格式。
Ⅷ 請問怎麼通過python爬蟲獲取網頁中的pdf文件
首先把鏈接URL爬取出來,然後get流下載pdf文件,再用pdf模塊來讀取它。
Ⅸ 如何從php程序讀取pdf文檔中的文本信息
PHP程序pdf格式文件函數庫
本函數庫共有65個函數
PDF是Adobe所發展的可攜式文件格式,它的文件可以在網路上傳輸、瀏覽,甚至使用印表機印出,或使用其它輸出裝置輸出,都可以保存原來的文字及圖片的編排。詳細的信息可以參考 Adobe 的網站。參考其中有關 PDF 或 Acrobat 的部份。
在 UNIX 系統中,可以使用 Thomas Merz 開發的 PDF 函數庫。將它編譯安裝完成後,再編譯 PHP 程序方可供 PHP 使用 pdflib。編譯時可能要 JPEG library 及 TIFF library。
除了用這個函數庫可以建立 PDF 文件外,FastIO 公司發展的產品 ClibPDF 也可以處理 PDF 文件。
以下為處理 PDF 文件的範例,本例對 test.pdf 加工後等待用戶讀取。
<?php
$fp = fopen("test.pdf", "w");
$pdf = PDF_open($fp);
pdf_set_info_author($pdf, "Uwe Steinmann");
PDF_set_info_title($pdf, "Test for PHP wrapper of PDFlib 2.0");
PDF_set_info_author($pdf, "Name of Author");
pdf_set_info_creator($pdf, "See Author");
pdf_set_info_subject($pdf, "Testing");
PDF_begin_page($pdf, 595, 842);
PDF_add_outline($pdf, "Page 1");
pdf_set_font($pdf, "Times-Roman", 30, 4);
pdf_set_text_rendering($pdf, 1);
PDF_show_xy($pdf, "Times Roman outlined", 50, 750);
pdf_moveto($pdf, 50, 740);
pdf_lineto($pdf, 330, 740);
pdf_stroke($pdf);
PDF_end_page($pdf);
PDF_close($pdf);
fclose($fp);
echo "<A HREF=getpdf.php3>finished</A>";
?>
上例中的 gettest.php3 可能像下面的樣子
<?php
$fp = fopen("test.pdf", "r");
header("Content-type: application/pdf");
fpassthru($fp);
fclose($fp);
?>
PDF_get_info: 返迴文件信息。
PDF_set_info_creator: 配置建檔者字元串。
PDF_set_info_title: 配置文件標題。
PDF_set_info_subject: 配置文件主題。
PDF_set_info_keywords: 配置文件的關鍵字。
PDF_set_info_author: 配置文件作者。
PDF_open: 建立新的 PDF 檔。
PDF_close: 關閉 PDF 檔。
PDF_begin_page: 啟始 PDF 文件頁面。
PDF_end_page: 關閉 PDF 文件頁面。
PDF_show: 輸出字元串到 PDF 文件。
PDF_show_xy: 輸出字元串到指定坐標。
PDF_set_font: 配置使用的字型及大小。
PDF_set_leading: 配置行距。
PDF_set_text_rendering: 配置文字表現方式。
PDF_set_horiz_scaling: 配置文字水平間距。
PDF_set_text_rise: 配置文字高度。
PDF_set_text_matrix: 配置文字矩陣。
PDF_set_text_pos: 配置文字位置。
PDF_set_char_spacing: 配置字元間距。
PDF_set_word_spacing: 配置字間距。
PDF_continue_text: 輸出文字。
PDF_stringwidth: 計算字元串的寬度。
PDF_save: 儲存環境變數。
PDF_restore: 還原環境變數。
PDF_translate: 移動原點。
PDF_scale: 縮放類。
PDF_rotate: 旋轉類。
PDF_setflat: 配置平滑值。
PDF_setlinejoin: 配置連接參數。
PDF_setlinecap: 配置 linecap 參數。
PDF_setmiterlimit: 配置斜邊界限。
PDF_setlinewidth: 配置線寬。
PDF_setdash: 配置虛線樣式。
PDF_moveto: 配置處理的坐標點。
PDF_curveto: 繪貝氏曲線。
PDF_lineto: 繪直線。
PDF_circle: 繪圓。
PDF_arc: 繪弧。
PDF_rect: 繪長方形。
PDF_closepath: 形成封閉的向量形狀。
PDF_stroke: 沿向量繪線。
PDF_closepath_stroke: 形成封閉的向量形狀並沿向量繪線。
PDF_fill: 填滿目前的向量。
PDF_fill_stroke: 填滿目前的向量並沿向量繪線。
PDF_closepath_fill_stroke: 形成封閉的向量形狀沿向量繪線並填滿。
PDF_endpath: 關閉目前向量。
PDF_clip: 組合所有向量。
PDF_setgray_fill: 指定填入的顏色為灰階。
PDF_setgray_stroke: 指定繪圖的顏色為灰階。
PDF_setgray: 指定繪圖的顏色為灰階並填入。
PDF_setrgbcolor_fill: 指定填入的顏色為彩色。
PDF_setrgbcolor_stroke: 指定繪圖的顏色為彩色。
PDF_setrgbcolor: 指定繪圖的顏色為彩色並填入。
PDF_add_outline: 目前頁面加入書簽。
PDF_set_transition: 配置頁的轉換。
PDF_set_ration: 配置二頁的切換時間。
PDF_open_gif: 打開 GIF 圖檔。
PDF_open_memory_image: 打開內存圖檔。
PDF_open_jpeg: 打開 JPEG 圖檔。
PDF_close_image: 關閉圖檔。
PDF_place_image: 放置圖片到 PDF 檔指定位置。
PDF_put_image: 放置圖片到 PDF 檔。
PDF_execute_image: 放置 PDF 檔中圖片到指定位置。
PDF_add_annotation: 加入注釋。