从Powershell打印/保存嵌入在网页中的PDF

时间:2015-06-30 12:16:09

标签: powershell pdf save

我正在试图弄清楚如何使用powershell在运行时自动打印多个PDF页面。最大的问题是pdf上最多有700页,但是当在Web浏览器中查看PDF时,它只允许您一次查看,保存和打印一页。在左侧有所有页面的超链接按钮,我还没有找到一种方法来查看多个页面。

我以为我能够遍历所有页面,因为url的唯一区别是页码。但我无法打印。我开始尝试将.html文件保存为单词doc或pdf,认为从不同的文件类型打印会更容易,但这不能正确保存整个页面。我在这里的代码是严格尝试将.html文件保存为.docx或.pdf文件格式,我需要帮助这样做。我能够实际创建一个指定文件名的文件,但它不包含任何数据

$client = New-Object System.Net.WebClient
$client.DownloadString("http://website.com/PublicationLink/9c5eafdc-4a61-430c-b7f7-a6ddbffd175a/9803-3600U_1.html")

$code = '$helper = New-Object -comobject WScript.Shell; 
$helper.AppActivate(''Save HTML Document'', $true);     
$helper.SendKeys(''{ENTER}'')'

$ie = New-Object -ComObject InternetExplorer.Application
$ie.Navigate("http://website.PublicationLink/9c5eafdc-4a61-430c-b7f7-a6ddbffd175a/9803-3600U_1.html") 

while ($ie.ReadyState -ne 4) { Start-Sleep -Milliseconds 200} Start-Process powershell.exe -argument ('-version 2.0 -noprofile -windowstyle hidden -command "{0}"' -f $code)

$ie.ExecWB(4,2,"page.txt",[ref]$null)

另一个问题可能是,要访问此页面需要身份验证,所以我不确定我需要做什么来处理它。

如果有帮助,这里是该页面的屏幕截图 enter image description here

这是我从pdf .html

的开发人员工具中获取的源代码
<HTML>
<HEAD>
<TITLE>
9801-7868_1
</TITLE>
<script language="javascript" src="scripts\page.js"></script>
</HEAD>
<BODY style="padding:0;margin:0;overflow-x:auto;overflow-y:hidden;"      onload="setpagenum(1)">
<div id="pdfSection">
<object id="pdfObject" width="100%" height="100%"  align="top" classid="clsid:CA8A9780-280D-11CF-A24D-444553540000">
<param name="SRC" value="9801-7868_1.pdf">
</object></div>
</BODY>
</HTML>

更新:我实际上能够将文件显示为下载为.pdf并使用下面的代码,但是当我尝试在adobe中打开它时,它会抛出一个错误,说它不是受支持的文件类型或者它已经损坏了。

$Url = "https://spp.jdsportal.jcb.com/PublicationLink/4f67dea0-4164-4b23-9ac3-29acfb3a5e7b/9801-7868_1.pdf"
$Path = "C:\Users\Administrator\Documents\manual2.pdf"
$Username = "User"
$Password = "Pass"

$WebClient = New-Object System.Net.WebClient
$WebClient.Credentials = New-Object System.Net.Networkcredential($Username, $Password)
$WebClient.DownloadFile( $url, $path ) 

0 个答案:

没有答案