关于如何使用C#打开PDF到特定页面的this question已接受的答案,总结如下:
import java.awt.*;
import java.awt.event.*;
import java.awt.Toolkit.*;
public class Test{
public static void main(String[] args){
Toolkit.getDefaultToolkit().addAWTEventListener(new AWTEventListener() {
public void eventDispatched(AWTEvent e) {
if(e instanceof MouseEvent){
MouseEvent event = (MouseEvent)e;
if(event.getID() == MouseEvent.MOUSE_PRESSED){}
System.out.println("test");
}
}
}
}, AWTEvent.MOUSE_EVENT_MASK);
}
}
但是,这个答案似乎不完整。如果Adobe Reader(acroRd32.exe) 不 已在运行,但是如果Reader 正在运行,则效果很好这段代码不会做任何事情(至少在我的Windows 8.1 PC上)。那么,如何使用C#(或VB.NET)打开PDF到指定页面,无论是否已经在运行Adobe Reader?
答案 0 :(得分:0)
结果诀窍是添加" / n"切换到PDF路径之前的参数字符串,如下所示:
myProcess.StartInfo.Arguments = String.Format("/A ""zoom={0}&page={1}=OpenActions"" /n ""{2}", strZoom, strPage, strPath)
根据Acrobat developer FAQ,/ n开关"启动单独的Acrobat或Adobe Reader实例,即使其中一个当前处于打开状态。"我无法想象你不想想要使用这个开关的情况(当按照OP中的描述打开PDF时),所以令人惊讶的是,很少有人提到这个开关。关于这个主题的数十个建议的解决方案。