인쇄 문제로 오랫동안 싸워 왔지만 잘하면 누군가 도움을 줄 수 있습니다.인쇄 설정 (Aspose가 생성 됨)을 사용하여 WPF의 Word 문서를 인쇄하십시오.
배경 나는 단어 템플릿에서 Aspose.Words-문서를 만드는거야, 그리고 메일을 병합 한 다음 인쇄 대화 상자와 WPF 응용 프로그램에서 직접 인쇄 할. 인쇄 할 때 내 프린터에서 사용할 수있는 모든 다른 프린터 설정 (사용할 용지, 확대/축소, 방향, 색상 등)을 선택할 수 있어야합니다. 이 마지막 것은 내가 찾은 모든 예에서 프린터 이름이나 인쇄 할 사본 수만 알려주므로 내 Google 검색이 성공하지 못하게하는 것 같습니다.
테스트 1- From their forum
private void Print(Document document)
{
var printDialog = new System.Windows.Forms.PrintDialog
{
AllowSomePages = true,
PrinterSettings = new PrinterSettings
{
MinimumPage = 1,
MaximumPage = document.PageCount,
FromPage = 1,
ToPage = document.PageCount
},
UseEXDialog = true
};
var result = printDialog.ShowDialog();
if (result.Equals(DialogResult.OK))
document.Print(printDialog.PrinterSettings);
}
를 인쇄 Aspose의 선호하는 방법은 지금 이것은 완벽한 것 같다! 하지만 두 개의이 (가) 하나의 문제가 있습니다.
텍스트는 먼저 기본 글꼴로 인쇄 할 것 같은 페이지에 두 배로, 첫 번째의 상단에 두 번째 나의 특별한 글꼴로 두 번째입니다. 화면 캡쳐보기 :죄송합니다. docx 파일 내부에 숨겨진 이미지가 있습니다.이 이미지는 어떻게 든 변환되었을 때 (Word에서 숨겨 졌더라도) 나타납니다.
테스트 2 - 프로세스 인쇄 (PDF)는
private void Print(Document document)
{
var savePath = String.Format("C:\\temp\\a.pdf");
document.Save(savePath, SaveFormat.Pdf);
var myProcess = new Process();
myProcess.StartInfo.FileName = savePath;
myProcess.StartInfo.Verb = "Print";
//myProcess.StartInfo.CreateNoWindow = true;
myProcess.Start();
myProcess.WaitForExit();
}
이 좋은 해결책이 될 것이다, 그러나 그것은 나에게 대화 상자를 제공하지 않습니다 (I 워드 PrintTo를 사용할 수 있으며 일부 인수를 제공 ?, 프린터 이름 등과 같은 그러나 나의 특별한 요구 사항에 적합한)
테스트 3-
말씀 자동화로 인쇄자, 자동화를 사용해야합니까? 그것은 잘 인쇄하지만 단어 애플 리케이션과 문서를 닫을 때 문제가 생길 때. 예를 들어 때로는 "인쇄 가능 영역 밖의 여백"대화 상자가 나타나서 코드가 프로세스를 종료하고 종료 할 수 없습니다. Thread.Sleep가 표시됩니까? 내가 그것을 가지지 않으면, 인쇄가 끝나기 전에 Word가 종료됩니다.
나는 모든 시도가 부족합니다. 이 문제를 해결하는 가장 좋은 방법은 무엇입니까?
시간 내 주셔서 감사합니다.