우리는 작성해야 할 종이 양식이 많이 있습니다. 이 작업을 손으로 수행하는 것은 매우 지루하므로 응용 프로그램을 구축합니다. 데이터를 채우고 인쇄 미리보기를 표시하고 종이 양식에 데이터를 인쇄하고 기록을 유지할 수있는 양식을 제공해야합니다. 우리가 배경에 종이 형태와 전경에있는 데이터의 스캔 이미지와 사용자 정의 UserControl
가 인쇄 미리보기를미리보기가있는 종이 양식에 인쇄하기
var dlg = new PrintDialog();
if (dlg.ShowDialog() == true)
{
var doc = new FixedDocument();
doc.DocumentPaginator.PageSize = new Size(11.69 * 96, 8.27 * 96); // A4 Landscape
var fp = Application.LoadComponent(new Uri("/FixedPage.xaml", UriKind.Relative)) as FixedPage;
fp.DataContext = this;
fp.UpdateLayout();
var pc = new PageContent();
((IAddChild)pc).AddChild(fp);
doc.Pages.Add(pc);
dlg.PrintTicket.PageOrientation = System.Printing.PageOrientation.Landscape;
dlg.PrintDocument(doc.DocumentPaginator, string.Format("Form #{0}", FormNumber));
}
:
현재, 우리는 우리가 같이 인쇄 이는 FixedPage
있습니다. 기본적으로, 그것은 FixedPage
레이아웃을 되풀이하고 있습니다.이 모든 것이 우리 디자인에 결함이 있다고 생각하게 만듭니다.
우리가 원하는 것을 할 수있는 더 좋은 방법이 있습니까?
당신이 혜택을 누릴 수 있다고 생각 http://stackoverflow.com/questions/404010/use-of-print-preview-in-net-winforms 인쇄 및 미리보기를 위해 동일한 방법을 사용하는 것이 가장 좋은 방법이라고 생각합니다. 나는 PrintDialog를 직접 사용하지 않았다. 그러나 종이가 아닌 미리보기로 인쇄하려면 멀리 있어야합니다. 그저 다른 종류의 기기 일 수도 있습니다. – Dzyann
@Dzyann, 감사합니다. 그러나 용지에 인쇄하지 않고 어떻게 미리보기에 배경 이미지를 표시 할 것인지 잘 모르겠습니다. 샘플을 제공하면 대답으로 받아 들여서 기쁩니다. – Joulukuusi
레이아웃에 사용하는 사용자 정의 컨트롤에 Canvas가 있고, 스캔 된 이미지의 배경과 함께 FixedPage.xmal을 직접 사용하는 cambas를 사용할 수 있습니까? – Dzyann