js打印指定的url文件 或者有什么方法在客户端打印服务器端的pdf文件?

JavaScript012

js打印指定的url文件 或者有什么方法在客户端打印服务器端的pdf文件?,第1张

如果你希望直接打印,这办法基本不可行了。

不过你可以过渡一下,这样的话,有两种不同的方法:

1. 你的链接可以直接链接到PDF文件,URL可以写成类似:“http://www.xx.com/mypdf.pdf”,这样办的话,如果用户安装了PDF的浏览器支持,打开后用户的浏览器可以直接在浏览器中运行adobe reader。然后由用户选择是否打印。

2. 如果你感觉上面的方法不合理,你也可以学习百度文库的做法,使用flash制作一个PDF阅读器,这样,你可以在flash上面加上打印按钮,这样的方法与上面大同小异,却不用考虑用户是否已经安装了adobe reader。

以上是两种不同的实现方案,第一种很简单,但对于没有安装adobe reader的用户,会相当影响用户体验。可是第二种,实现的技术却很高,需要很强的actionsctript的开发能力,我也无能为力,至少现在是这个样子的。

直接使用js打开一个PDF文件,我觉得无法实现。

<html>

<body>

<div>

<button id="prev" onclick="goPrevious()">Previous</button>

<button id="next" onclick="goNext()">Next</button>

<span>Page: <span id="page_num"></span>/ <span id="page_count"></span></span>

</div>

<div>

<canvas id="the-canvas" style="border:1px solid black"></canvas>

</div>

<!-- Use latest PDF.js build from Github -->

<script type="text/javascript" src="https://raw.github.com/mozilla/pdf.js/gh-pages/build/pdf.js"></script>

<script type="text/javascript">

//

// NOTE:

// Modifying the URL below to another server will likely *NOT* work. Because of browser

// security restrictions, we have to use a file server with special headers

// (CORS) - most servers don't support cross-origin browser requests.

//

var url = 'http://cdn.mozilla.net/pdfjs/tracemonkey.pdf'

//

// Disable workers to avoid yet another cross-origin issue (workers need the URL of

// the script to be loaded, and currently do not allow cross-origin scripts)

//

PDFJS.disableWorker = true

var pdfDoc = null,

pageNum = 1,

scale = 0.8,

canvas = document.getElementById('the-canvas'),

ctx = canvas.getContext('2d')

//

// Get page info from document, resize canvas accordingly, and render page

//

function renderPage(num) {

// Using promise to fetch the page

pdfDoc.getPage(num).then(function(page) {

var viewport = page.getViewport(scale)

canvas.height = viewport.height

canvas.width = viewport.width

// Render PDF page into canvas context

var renderContext = {

canvasContext: ctx,

viewport: viewport

}

page.render(renderContext)

})

// Update page counters

document.getElementById('page_num').textContent = pageNum

document.getElementById('page_count').textContent = pdfDoc.numPages

}

//

// Go to previous page

//

function goPrevious() {

if (pageNum <= 1)

return

pageNum--

renderPage(pageNum)

}

//

// Go to next page

//

function goNext() {

if (pageNum >= pdfDoc.numPages)

return

pageNum++

renderPage(pageNum)

}

//

// Asynchronously download PDF as an ArrayBuffer

//

PDFJS.getDocument(url).then(function getPdfHelloWorld(_pdfDoc) {

pdfDoc = _pdfDoc

renderPage(pageNum)

})

</script>

</body>

</html>

nodejs读取pdf并翻转内容保存pdf需以下几个步骤。

1、启动windows命令行工具(windows下启动系统搜索功能,输入cmd回车就出来了)。

2、查看环境变量是否已经自动配置,在命令行工具中输入node-v,如果出现v10字段,则说明成功安装Node.js。

3、在第三步发现输入node-v还是没有出现对应的字段,那么重启电脑即可。

4、打开本项目文件夹,打开命令行工具(windows系统中直接在文件的url地址栏输入cmd就可以打开了),输入npmicnpmnodemon-g。

5、下载puppeteer爬虫包,在完成第五步后,使用cnpmipuppeteer--save命令下载。

6、完成第六步下载后,打开本项目的url.js,将您需要爬虫爬取的网页地址替换上去。

7、在命令行中输入nodemonindex.js即可爬取对应的内容,并且自动输出到当前文件夹下面的index.pdf文件中。