Ⅰ 为什么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: 加入注释。