基线 SVN r240
SVN-Revision: r240
This commit is contained in:
@@ -0,0 +1,355 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Data;
|
||||
using System.Drawing;
|
||||
using System.Text;
|
||||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
using DevExpress.XtraEditors;
|
||||
using Lskj.AutoUpdate;
|
||||
using System.IO;
|
||||
using Lskj.Business;
|
||||
using Lskj.Core;
|
||||
using System.Diagnostics;
|
||||
using System.Text.RegularExpressions;
|
||||
using Lskj.Business.Impl;
|
||||
using System.Drawing.Printing;
|
||||
using Lskj.Util;
|
||||
|
||||
namespace Lskj.Control
|
||||
{
|
||||
public partial class FrmSelectDownload : BaseForm
|
||||
{
|
||||
public string FileName = string.Empty;
|
||||
public string URL = string.Empty;
|
||||
public bool isBatchDownLoad = false;
|
||||
|
||||
public string ModelId= string.Empty;//菜单名称
|
||||
public string MenuName = string.Empty;//右键名称
|
||||
public string MenuId = string.Empty;//菜单ID
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 右键多条下载是否显示
|
||||
/// </summary>
|
||||
public bool RightDisplay = true;
|
||||
|
||||
/// <summary>
|
||||
/// 路径
|
||||
/// </summary>
|
||||
public string DownloadPath = string.Empty;
|
||||
|
||||
public FrmSelectDownload()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
/// <summary>
|
||||
/// 初始加载
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void FrmSelectDownload_Load(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (!isBatchDownLoad) this.Opacity = 100D;
|
||||
this.labUrl.EditText = URL;
|
||||
this.labName.EditText = FileName;
|
||||
string FOLDER_NAME = isBatchDownLoad ? ConstModel.Batch_FOLDER_NAME : ConstModel.TEMP_FOLDER_NAME;
|
||||
this.labAddress.EditText = Path.Combine(CommonUnitity.SystemBinUrl, FOLDER_NAME, FileName);//设置默认路径
|
||||
//上一次选中的地址
|
||||
string address=IniHelper.Read("LastSavedAddress");
|
||||
if (!string.IsNullOrWhiteSpace(address))
|
||||
{
|
||||
this.labAddress.EditText = Path.Combine(address, FileName);//设置默认路径
|
||||
}
|
||||
|
||||
|
||||
if (isBatchDownLoad) this.btnDownload.PerformClick();
|
||||
if (SystemInfo.Instance.HiddenUrl)
|
||||
{
|
||||
this.labUrl.Visible = false;
|
||||
|
||||
this.btnPreview.Location = new Point(this.btnPreview.Location.X, this.labName.Location.Y-5);
|
||||
this.labAddress.Location = new Point(this.labAddress.Location.X, this.labName.Location.Y);
|
||||
this.labName.Location = new Point(this.labName.Location.X, this.labUrl.Location.Y);
|
||||
|
||||
this.groupBox1.Height = this.labAddress.Location.Y + 30;
|
||||
|
||||
this.btnOpen.Location = new Point(this.btnOpen.Location.X, this.groupBox1.Location.Y+ this.groupBox1.Height+5);
|
||||
this.btnDownload.Location = new Point(this.btnDownload.Location.X, this.groupBox1.Location.Y + this.groupBox1.Height + 5);
|
||||
this.btnClose.Location = new Point(this.btnClose.Location.X, this.groupBox1.Location.Y + this.groupBox1.Height + 5);
|
||||
|
||||
this.Height = this.btnClose.Location.Y + this.btnClose.Height + 40;
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show(Message, ex.Message);
|
||||
}
|
||||
Lskj.Control.Model.AutoSizeChange.ControllInitializeSize(this);
|
||||
}
|
||||
/// <summary>
|
||||
/// 点击预览筛选文件位置
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnPreview_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
SaveFileDialog saveFileDialog = new SaveFileDialog();
|
||||
saveFileDialog.FileName = FileName;
|
||||
saveFileDialog.Title = "下载模板文件到";
|
||||
saveFileDialog.RestoreDirectory = true;
|
||||
//点了保存按钮进入
|
||||
if (saveFileDialog.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
string localFilePath = labAddress.EditText = System.IO.Path.GetFullPath(saveFileDialog.FileName);//获得文件路径,含文件名
|
||||
labName.EditText = localFilePath.Substring(localFilePath.LastIndexOf("\\") + 1);//获取文件名,不带路径
|
||||
//记录保存的路径
|
||||
IniHelper.Write("LastSavedAddress", localFilePath.Substring(0,localFilePath.LastIndexOf("\\")));
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show("筛选文件位置出错!" + Message);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 点击下载附件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnDownload_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(labUrl.EditText))
|
||||
{
|
||||
MessageUtil.Show("请填下载的地址!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(labName.EditText))
|
||||
{
|
||||
MessageUtil.Show("请填写下载的文件名称!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(labAddress.EditText))
|
||||
{
|
||||
MessageUtil.Show("请选择下载路径!");
|
||||
return;
|
||||
}
|
||||
FrmDownload frm = new FrmDownload(labUrl.EditText, labName.EditText, labAddress.EditText);
|
||||
frm.isBatchPrind = isBatchDownLoad;
|
||||
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
LogUtil.WriteDebug(ModelId, "执行下载", "右键编号:"+ MenuId + " ,右键名称:"+ MenuName , "网址:"+ labUrl.EditText + " ,下载名称:" + labName.EditText+ " ,下载路径:"+ labAddress.EditText);
|
||||
frm.Dispose();
|
||||
if (isBatchDownLoad)
|
||||
{
|
||||
PrintFile(labAddress.EditText);
|
||||
File.Delete(labAddress.EditText);
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Close();
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show("下载附件出错!" + Message);
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// 直接打开下载附件
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnOpen_Click(object sender, EventArgs e)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(labUrl.EditText))
|
||||
{
|
||||
MessageUtil.Show("请填下载的地址!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(labName.EditText))
|
||||
{
|
||||
MessageUtil.Show("请填写下载的文件名称!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(labAddress.EditText))
|
||||
{
|
||||
MessageUtil.Show("请选择下载路径!");
|
||||
return;
|
||||
}
|
||||
FrmDownload frm = new FrmDownload(labUrl.EditText, labName.EditText, labAddress.EditText, true);
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show("直接打开下载附件出错!" + Message);
|
||||
}
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// 关闭下载界面
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
private void btnClose_Click(object sender, EventArgs e)
|
||||
{
|
||||
this.Close();
|
||||
}
|
||||
private void PrintFile(string filePath)
|
||||
{
|
||||
bool isPic = false;//是否为图片
|
||||
Stream fs = null;
|
||||
Image img = null;
|
||||
try
|
||||
{
|
||||
fs = new FileStream(filePath, FileMode.Open, FileAccess.Read);
|
||||
img = Image.FromFile(filePath);
|
||||
isPic = true;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
isPic = false;
|
||||
}
|
||||
finally
|
||||
{
|
||||
if (fs != null)
|
||||
fs.Close();
|
||||
if (img != null)
|
||||
img.Dispose();
|
||||
}
|
||||
if (isPic)
|
||||
{
|
||||
PrintDocument docToPrint = new PrintDocument();
|
||||
docToPrint.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(PicToPrint_PrintPage);
|
||||
docToPrint.DefaultPageSettings.PrinterSettings.DefaultPageSettings.PaperSize = new PaperSize { Width = 583, Height = 827, PaperName = "A5" };
|
||||
PrintDialog printDialog = new PrintDialog();
|
||||
printDialog.ShowDialog();
|
||||
docToPrint.Print();
|
||||
}
|
||||
else
|
||||
{
|
||||
if (Path.GetExtension(filePath).Equals(".doc", StringComparison.CurrentCultureIgnoreCase) || Path.GetExtension(filePath).Equals(".docx", StringComparison.CurrentCultureIgnoreCase))//word文档
|
||||
{
|
||||
Spire.Doc.Document doc = new Spire.Doc.Document();
|
||||
doc.LoadFromFile(filePath);
|
||||
Spire.Doc.Section sec = doc.Sections[0];
|
||||
sec.PageSetup.PageSize = Spire.Doc.Documents.PageSize.A5;
|
||||
PrintDocument printDoc = doc.PrintDocument;
|
||||
printDoc.Print();
|
||||
}
|
||||
else if (Path.GetExtension(filePath).Equals(".xls", StringComparison.CurrentCultureIgnoreCase) || Path.GetExtension(filePath).Equals(".xlsx", StringComparison.CurrentCultureIgnoreCase))//excel文档
|
||||
{
|
||||
Spire.Xls.Workbook workbook = new Spire.Xls.Workbook();
|
||||
workbook.LoadFromFile(filePath);
|
||||
foreach (Spire.Xls.Worksheet worksheet in workbook.Worksheets)
|
||||
{
|
||||
worksheet.PageSetup.PaperSize = Spire.Xls.PaperSizeType.PaperA5;
|
||||
worksheet.PageSetup.FitToPagesTall = 0;
|
||||
worksheet.PageSetup.FitToPagesWide = 1;
|
||||
}
|
||||
PrintDocument printDoc = workbook.PrintDocument;
|
||||
printDoc.Print();
|
||||
}
|
||||
else if (Path.GetExtension(filePath).Equals(".pdf", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
Spire.Pdf.PdfDocument pdfDocument = new Spire.Pdf.PdfDocument();
|
||||
pdfDocument.LoadFromFile(filePath);
|
||||
pdfDocument.Print();
|
||||
}
|
||||
else if (Path.GetExtension(filePath).Equals(".txt", StringComparison.CurrentCultureIgnoreCase))
|
||||
{
|
||||
Spire.Doc.Document doc = new Spire.Doc.Document();
|
||||
doc.LoadFromFile(filePath);
|
||||
Spire.Doc.Section sec = doc.Sections[0];
|
||||
sec.PageSetup.PageSize = Spire.Doc.Documents.PageSize.A5;
|
||||
PrintDocument printDoc = doc.PrintDocument;
|
||||
printDoc.Print();
|
||||
}
|
||||
}
|
||||
}
|
||||
private void PicToPrint_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
|
||||
{
|
||||
if (!string.IsNullOrEmpty(this.labAddress.EditText))
|
||||
{
|
||||
//图片抗锯齿
|
||||
e.Graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.AntiAlias;
|
||||
Stream fs = new FileStream(this.labAddress.EditText, FileMode.Open, FileAccess.Read);
|
||||
System.Drawing.Image i = System.Drawing.Image.FromStream(fs);//转换为 IMAGE
|
||||
fs.Close();
|
||||
Rectangle m = e.MarginBounds;
|
||||
if ((double)i.Width / (double)i.Height > (double)m.Width / (double)m.Height) // image is wider
|
||||
{
|
||||
m.Height = (int)((double)i.Height / (double)i.Width * (double)m.Width);
|
||||
}
|
||||
else
|
||||
{
|
||||
m.Width = (int)((double)i.Width / (double)i.Height * (double)m.Height);
|
||||
}
|
||||
e.Graphics.DrawImage(i, m);
|
||||
i.Dispose();
|
||||
e.HasMorePages = false;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public void ClickDownload()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (string.IsNullOrEmpty(URL))
|
||||
{
|
||||
MessageUtil.Show("请填下载的地址!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(FileName))
|
||||
{
|
||||
MessageUtil.Show("请填写下载的文件名称!");
|
||||
return;
|
||||
}
|
||||
if (string.IsNullOrEmpty(DownloadPath))
|
||||
{
|
||||
MessageUtil.Show("请选择下载路径!");
|
||||
return;
|
||||
}
|
||||
FrmDownload frm = new FrmDownload(URL, FileName, DownloadPath);
|
||||
frm.RightDisplay = RightDisplay;
|
||||
|
||||
if (frm.ShowDialog() == DialogResult.OK)
|
||||
{
|
||||
frm.Dispose();
|
||||
if (isBatchDownLoad)
|
||||
{
|
||||
PrintFile(labAddress.EditText);
|
||||
File.Delete(labAddress.EditText);
|
||||
}
|
||||
this.Close();
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
this.Close();
|
||||
string Message = ErrorMessage.PromptErrorMessage(ex);
|
||||
MessageUtil.Show("下载附件出错!" + Message);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user