js批量转pdf(如何批量转换PDF文件)

本文目录
如何批量转换PDF文件
在日常工作中,我们经常需要批量转换PDF文档格式,如何才能轻松快捷的执行这项任务呢?请不要担心,下面就来分享两种可以解决问题的方法,一起来看下吧。
1、专业方法转换
运行“SmallPDFer”软件,并直接在首界面上选择对应的转换功能。然后,将需要转换的PDF文件添加到软件中,可以点击“添加文件/文件夹”或者直接拖拽来添加。文件添加好之后,还可以继续设置一下文件的“保存目录”,如果转换文件多的话,还可以设置一下“文件排序”等。最后,在确认没有其它的前提下,点击“开始转换”按钮即可。
方法1
2、免费方法转换
首先,将需要转换的文件通过Office软件打开,并选择“文件”菜单中的“另存为”选项。然后,选择需要保存的格式即可。
方法2
javascript 打印网页成pdf文件
通过javascript实现PDF自动打印(2009-05-08 15:06:05)
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
string pdffile = createpdf(false);
iframe1.Attributes.Add("src", pdffile);
}
}
private string createpdf(bool print)
{
try
{
string filename = "Chap0106.pdf";
iTextSharp.text.Document doc = new iTextSharp.text.Document();
PdfWriter writer = iTextSharp.text.pdf.PdfWriter.getInstance(doc, new FileStream(Server.MapPath(filename), FileMode.OpenOrCreate));
doc.Open();
doc.Add(new Paragraph(6, "abcd"));
writer.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
if (print)
{
PdfAction.javaScript("myOnMessage();", writer);
writer.addJavaScript("this.print(true);function myOnMessage(aMessage) {app.alert(’Test’,2);} var msgHandlerObject = new Object();doc.onWillPrint = myOnMessage;this.hostContainer.messageHandler = msgHandlerObject;");
}
doc.Close();
return filename;
}
catch
{
return "";
}
}
protected void Button1_Click(object sender, EventArgs e)
{
string pdffile = createpdf(true);
iframe1.Attributes.Add("src", pdffile);
}
如题:
《body》
《object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" name="PDF1" width="760" height="633" border="0"》
《param name="SRC" value="01.pdf"/》
《/object》
《script language="JavaScript" type="text/javascript"》
PDF1.SetShowToolbar(false);
《/script》
《/body》
在 pdf 文件里加上这样的属性就可以了
如何也通过类似“PDF1.SetShowToolbar(false); ”控制实现禁止对pdf内容的复制、以及打印!!!谢谢
javascript实现PDF自动打印
网页显示pdf文件,禁止保存和打印
1. 用网页打开 PDF文件。
2. 只可以浏览但是不许打印保存。
结果参照顶楼在jsf里实现如下代码:
//Get response
FacesContext faces = javax.faces.context.FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) faces.getExternalContext().getResponse();
//打开源pdf文件
PdfReader reader = new PdfReader("./HelloWorld.pdf");
Document document = new Document(reader.getPageSizeWithRotation(1));
int n = reader.getNumberOfPages();
ByteArrayOutputStream baos = new ByteArrayOutputStream();
//将原pdf文件中的内容放入字节流baos中
PdfCopy copy = new PdfCopy(document, baos);
//隐藏工具栏并给pdf加密
copy.setViewerPreferences(PdfWriter.HideMenubar | PdfWriter.HideToolbar);
copy.setEncryption(false, null, "pdf", PdfWriter.AllowAssembly);
//往pdf中写入内容
document.open();
for(int i = 1; i 《= n; i++) {
PdfImportedPage page = copy.getImportedPage(reader, i);
copy.addPage(page);
}
document.close();
//设置响应类型并将pdf流写入响应
response.setContentType("application/pdf");
response.setContentLength(baos.size());
response.setHeader("Expires", "0");
response.setHeader("Cache-Control",
"must-revalidate, post-check=0, pre-check=0");
response.setHeader("Pragma", "public");
ServletOutputStream out = response.getOutputStream();
//将字节流baos中的内容写入响应流
baos.writeTo(out);
out.flush();
faces.responseComplete();
复制代码
以上代码的缺点:
1:加密只能实现打印和修改加密。
2:虽然隐藏了工具栏,但是可以通过快捷键F8来将工具栏显示出来
3:IE菜单栏中自带的保存功能也能将此pdf保存到本地
4:在客户端没有安装pdf阅读器的情况下,浏览器会直接提示用户是否下载,这也是和需求不符的。
最后经过不懈努力,找到了一个用《object》《/object》曲线救国的路线,哈哈,先来看看如下代码:
《!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"》
《html》
《head》
《/head》
《body》
《tr》《td》
《p style="margin-top:-45px;margin-bottom:0px;"》
《object classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" id="Pdf1" width="100%" height="100%"》
《param name="_Version" value="327680"》
《param name="_ExtentX" value="2646"》
《param name="_ExtentY" value="1323"》
《param name="_StockProps" value="0"》
《param name="SRC" value="C:\temp.pdf"》
《/object》
《/p》
《/td》《/tr》
《/body》
《/html》
复制代码
其中sytle的是用一种比较bt的办法影藏了pdf顶部的工具栏(可以用第一种方法,这个方法作为备用)。
这样即使用ie菜单栏中的保存功能也只是保存网页布局而不会把pdf保存下来。
另外这样即使本地没装pdf阅读器也不会让你下载该pdf了,而只是在相应位置出现叉叉而已。基本能够满足客户的需求了

更多文章:
centos中文官网(centos的secureboot在哪设置)
2025年11月22日 21:30
卡盟系统二开源码(家有些网页打不开,为什么这样,猴子岛论坛,或者一些有病毒的网页,色的网页,重装系统不行)
2026年8月7日 19:45
wallpaper怎么设置鼠标特效(wallpaper控制鼠标灯光)
2026年5月6日 09:45
bootstrap平板设备(什么是bootstrap栅格系统)
2026年2月4日 10:15
inventor装配栏怎么出来(inventor左侧工具栏不见了)
2026年9月21日 16:30
web application什么意思(web site 和 web application的区别)
2026年1月18日 03:15
android计算器源码及分析(Android新手入门,求一个计算器的源代码,不要太复杂的就好)
2026年6月2日 11:30
数据库连接失败未指定的错误(ASP中的数据库连接,未指定的错误)
2026年1月22日 23:30
perfect中文谐音(赫海的触(Can You Feel It)中文音译歌词)
2026年4月11日 04:00












