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

打印/保存嵌入Powershell网页中的PDF,powershell,pdf,save,Powershell,Pdf,Save,我正在尝试找出如何使用powershell在运行时自动打印多个PDF页面。最大的问题是pdf上最多有700页,但在web浏览器中查看pdf时,它只允许您一次查看、保存和打印一页。在左侧,所有页面都有超链接按钮,我还没有找到查看多个页面的方法 我想我可以在所有的页面中循环,因为url中唯一的区别就是页码。但是我在打印方面有困难。我开始尝试将.html文件保存为word文档或pdf,认为从不同的文件类型打印会更容易,但这无法正确保存整个页面。我这里的代码严格来说是尝试将.html文件保存为.docx

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

我想我可以在所有的页面中循环,因为url中唯一的区别就是页码。但是我在打印方面有困难。我开始尝试将.html文件保存为word文档或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)
另一个问题可能是,要访问此页面,它需要身份验证,因此我也不确定需要做什么来处理此问题

如果有帮助,这里有一个页面截图

这是我从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>

我们不能看到实际的网站吗?这将使故障排除更加容易。刚刚看到最后一行。。。。所以那将是一个否定。我在代码中没有看到任何身份验证,所以我很好奇。是的,对不起,我试图至少获取网页的屏幕截图(这可能不会有任何帮助),但目前我无法加载页面。可能使用或或外部工具(如autoit)会更简单,我将稍微研究一下该选项。在我深入研究它之前,selenium是否允许我指定要加载的确切页面以及自动打印或保存?我没有个人使用过它,但他们的网站声明“主要是用于自动化web应用程序”我们不能看到实际的网站吗?这将使故障排除更加容易。刚刚看到最后一行。。。。所以那将是一个否定。我在代码中没有看到任何身份验证,所以我很好奇。是的,对不起,我试图至少获取网页的屏幕截图(这可能不会有任何帮助),但目前我无法加载页面。可能使用或或外部工具(如autoit)会更简单,我将稍微研究一下该选项。在我深入研究它之前,selenium是否允许我指定要加载的确切页面并自动打印或保存?我没有个性化地使用它,但他们的网站声明“主要是用于自动化web应用程序”
$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 )