我使用的是localhost php文件:
<?php
$source = "C:\\xampp\\htdocs\\localPrinting\\printTest\\testing123.pdf";
//first try
if(file_exists($source)){
echo exec("C:\\xampp\\htdocs\\localPrinting\\Release\\AutoPrint.exe");
}else{
//second try
sleep(2);
if(file_exists($source)){
echo exec("C:\\xampp\\htdocs\\localPrinting\\Release\\AutoPrint.exe");
}else{
//third try
sleep(2);
if(file_exists($source)){
echo exec("C:\\xampp\\htdocs\\localPrinting\\Release\\AutoPrint.exe");
}
}
}
这个php文件的目的是执行我在文件夹中打印pdf文件的可执行文件。
在测试时,从localhost执行它是成功的,但不会发生打印功能。
//print one by one file
foreach (string file in fileNames)
{
if (file.ToUpper().Contains(".PDF"))
{
string sourceFile = @file;
WriteLog("Printing File: " + sourceFile);
string destinationFile = ConfigurationManager.AppSettings["PrintedDocuments"] + file.Substring(file.LastIndexOf(@"\") + 1);
if (System.IO.File.Exists(destinationFile))
{
System.IO.File.Delete(destinationFile);
}
System.IO.File.Move(sourceFile, destinationFile);
PdfFilePrinter printer = new PdfFilePrinter(@destinationFile);
int waitedTime = 0;
while (!(waitedTime < 5001))
{
System.Threading.Thread.Sleep(1000);
waitedTime += 1000;
}
try
{
printer.Print(3000); //wait 3 seconds
}
catch (Exception ex)
{
WriteLog("Error: " + ex.Message);
}
请告知可能出现的问题。