프린터에서 프로그래밍 방식으로 PDF 파일의 인쇄물을 얻으려면 어떻게해야합니까? printout 명령은 추가 대화 상자가 나타나지 않고 실행되어야합니다.PDF를 얻으려면 콘솔 응용 프로그램에서 프로그래밍 방식으로 백그라운드에서 인쇄하십시오.
나는 콘솔 응용 프로그램을 사용하고 제 3 자 라이브러리 또는 도구
프린터에서 프로그래밍 방식으로 PDF 파일의 인쇄물을 얻으려면 어떻게해야합니까? printout 명령은 추가 대화 상자가 나타나지 않고 실행되어야합니다.PDF를 얻으려면 콘솔 응용 프로그램에서 프로그래밍 방식으로 백그라운드에서 인쇄하십시오.
나는 콘솔 응용 프로그램을 사용하고 제 3 자 라이브러리 또는 도구
, 그것은 아크로뱃 리더의 실행 파일의 경로를 찾기 위해 Adobe의 레지스트리 설정을 사용하기 때문에 나는 다음과 같은 방법을 사용하지만 기본 프린터로 자동 인쇄 :
private void PrintPdf(string fileName)
{
var hkeyLocalMachine = Registry.LocalMachine.OpenSubKey(@"Software\Classes\Software\Adobe\Acrobat");
if (hkeyLocalMachine != null)
{
var exe = hkeyLocalMachine.OpenSubKey("Exe");
if (exe != null)
{
var acrobatPath = exe.GetValue(null).ToString();
if (!string.IsNullOrEmpty(acrobatPath))
{
var process = new Process
{
StartInfo =
{
UseShellExecute = false,
FileName = acrobatPath,
Arguments = string.Format(CultureInfo.CurrentCulture, "/T {0}", fileName)
}
};
process.Start();
}
}
}
}
이 솔루션에서도 Acrobat Reader가 자동으로 열리고 닫힙니다. 마찬가지로 프리랜서의 대답에 지적했다. 제 생각에는 Acrobat Reader 8을 사용하고 있기 때문입니다. – Nipuna
Acrobat Reader 11을 사용하여 이것을 시도했습니다. 여전히 윈도우가 열리고 닫힙니다. – Nipuna
진정한 자동 PDF 인쇄가 불가능할 수도 있습니다.이 기사 [C#에서 자동 인쇄] (http://stackoverflow.com/questions/10546675/print-pdf-silently-in-c- 날카로운). 죄송합니다. – Fooksie
.NET 프레임 워크 외부 프로세스를 시작하는 데 사용할 수있는 열고 System.Diagnostics 네임 스페이스의 클래스를 제공을 사용하지 않고이 작업을 수행 할 필요가 있어요. 여러 프로젝트에서 다음 코드를 사용하여 다양한 실행 파일을 시작했으며이 파일을 사용하여 Adobe Acrobat Reader도 시작할 수 있습니다.
using System.Diagnostics;
using System.IO;
using System.Text;
using System.Threading;
private static void RunExecutable(string executable, string arguments)
{
ProcessStartInfo starter = new ProcessStartInfo(executable, arguments);
starter.CreateNoWindow = true;
starter.RedirectStandardOutput = true;
starter.UseShellExecute = false;
Process process = new Process();
process.StartInfo = starter;
process.Start();
StringBuilder buffer = new StringBuilder();
using (StreamReader reader = process.StandardOutput)
{
string line = reader.ReadLine();
while (line != null)
{
buffer.Append(line);
buffer.Append(Environment.NewLine);
line = reader.ReadLine();
Thread.Sleep(100);
}
}
if (process.ExitCode != 0)
{
throw new Exception(string.Format(@"""{0}"" exited with ExitCode {1}. Output: {2}",
executable, process.ExitCode, buffer.ToString());
}
}
당신은 당신의 프로젝트에 위의 코드를 통합하고이를 사용하여 PDF를 인쇄 할 수는 다음과 같습니다
string pathToExecutable = "c:\...\acrord32.exe";
RunExecutable(pathToExecutable, @"/t ""mytest.pdf"" ""My Windows PrinterName""");
참고 :이 코드가 속한
당신이 할 수있는 http://aspalliance.com/514_CodeSnip_Printing_PDF_from_NET.all에 이 링크에서이 코드에 대한 모든 토론을 따르십시오.
희망 사항. @Freelancer가 쓴의 라인을 따라
이 코드에 직면하는 데 문제가 있습니다. 프린터를 통해 출력물을 얻을 수 있었지만 Adobe PDF 창이 자동으로 열리고 닫힙니다. – Nipuna
사용중인 버전은 무엇입니까? Acrobat Reader 9에 대한 완벽한 설명 – Freelancer
Acrobat Reader 8을 사용하고 있습니다. 아마도 그게 문제가됩니다. – Nipuna
했나 지금까지 해봤습니까? 사람들에게 당신의 노력을 먼저 보여주십시오. –