| 
					
				 | 
			
			
				@@ -149,6 +149,8 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure PrintAllSelectedReports; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure ExportAllSelectedPDFReports; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure ExportReportPage(APage: Integer; const APageFileName: string; AOrg: Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure SetProjectData(const Value: TProjectData); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure SetCurPage(const Value: Integer); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function GetPrintEndPage: Integer; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -486,7 +488,9 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     PreviewComXML.Print(PreviewBox.Canvas, CurPage, 1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     TipMessage(GetHintStr, Handle); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  //PreviewBox.Picture.SaveToFile('E:\1.jpg'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //PreviewBox.Picture.SaveToFile('E:\Org.bmp'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //ExportReportPage(1, 'E:\Org.jpg', True); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  //ExportReportPage(1, 'E:\Cut.jpg', False); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 procedure TReportsForm.xcbStartPageChange(Sender: TObject); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1714,4 +1718,39 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     extvReport.FullCollapse; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.ExportReportPage(APage: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const APageFileName: string; AOrg: Boolean); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bmp, bmpCut: TBitmap; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  img: TJPEGImage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  iCutHeight, iCutWidth, iCutTop, iCutLeft, iCutRight, iCutBottom: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bmp := TBitmap.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  bmpCut := TBitmap.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  img := TJPEGImage.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmp.Height := PreviewComXML.ReportSize.Y; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmp.Width := PreviewComXML.ReportSize.X; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    PreviewComXML.PrintPreviewCanvas(APage, 0, bmp.Canvas, False); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    iCutHeight := Round(PreviewComXML.ReportSize.Y / 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    iCutWidth := Round(PreviewComXML.ReportSize.X / 200); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmpCut.Height := PreviewComXML.ReportSize.Y - iCutHeight * 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmpCut.Width := PreviewComXML.ReportSize.X - iCutWidth * 2; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmpCut.Canvas.CopyRect(Rect(0, 0, bmpCut.Width, bmpCut.Height), bmp.Canvas, Rect(iCutWidth, iCutHeight, bmp.Width - iCutWidth, bmp.Height - iCutHeight)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if not AOrg then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      img.Assign(bmpCut) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      img.Assign(bmp); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    img.CompressionQuality := 100; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    img.Compress; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    img.SaveToFile(APageFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmpCut.Free; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    bmp.Free; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    img.Free; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end. 
			 |