Helllo,
我想使用.net 3.5将pdf传输到我的c#程序。我知道,有libs,但我不允许使用它。所以我想出了手动复制pdf文件内容然后将其转换为我的数据表的想法。因为我希望它能够自动运行,所以我正在使用这段代码:
Process Adope = new Process();
Adope.StartInfo.FileName = fd.FileName.ToString();
Adope.StartInfo.Arguments = fd.FileName.ToString();
Adope.Start();
IntPtr Adobe_handler = IntPtr.Zero;
while (elapsed_Time.ElapsedMilliseconds <= 5000) {
Adobe_handler = FindWindow("AcrobatSDIWindow", fd.SafeFileName + " - Adobe Reader");
if (Adobe_handler != IntPtr.Zero) {
break;
}
System.Threading.Thread.Sleep(200);
}
if (Adobe_handler == IntPtr.Zero) {
MessageBox.Show("Adobe is not running");
return;
}
elapsed_Time.Stop();
Clipboard.Clear();
SetForegroundWindow(Adobe_handler);
elapsed_Time.Start();
while (pdf_Info.Equals("")&&elapsed_Time.ElapsedMilliseconds<=10000) {
Clipboard.Clear();
SendKeys.SendWait("^a");
SendKeys.SendWait("^c");
pdf_Info = Clipboard.GetText().ToString();
}
elapsed_Time.Stop();
Adope.Close();
它有效...有时候。所以我正在寻找更好的方法或改进。有什么想法吗?
谢谢!