private void btnSetWatermark_Click(object sender, EventArgs e)
 {
     if (_watermarkForm.ShowDialog() == DialogResult.OK)
     {
         _watermark = _watermarkForm.Watermark;
     }
 }
Example #2
0
        public ActionResult PdfViewer(int?link_file_idx, string is_itf)
        {
            string fileOrgName  = string.Empty;
            string fileConvName = string.Empty;
            string filePath     = string.Empty;

            if (is_itf == "N")
            {
                DistTempFileModel fileInfo = Mapper.Instance().QueryForObject <DistTempFileModel>("DIST.selDistTempFile", new DistTempFileModel {
                    temp_file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + fileInfo.dist_idx;

                LogCtrl.SetLog(fileInfo, eActionType.FileView, this.HttpContext, fileInfo.file_org_nm);
            }
            else
            {
                ItfFileInfo fileInfo = Mapper.Instance().QueryForObject <ItfFileInfo>("ITF.selItfFIleInfo", new ItfFileInfo {
                    file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + fileInfo.part_no;

                LogCtrl.SetLog(fileInfo, eActionType.FileView, this.HttpContext, fileInfo.file_org_nm);
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = @Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            PdfWatermark watermark     = new PdfWatermark();
            string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));

            string fPath = System.Configuration.ConfigurationManager.AppSettings["ViewTempFileUrl"].ToString() + "/" + Path.GetFileName(watermarkFile);

            ViewBag.Massage  = null;
            ViewBag.FileName = fPath;
            return(View());
            //return View("PdfFileViewer" + (System.Web.HttpUtility.UrlEncode(fPath, System.Text.Encoding.GetEncoding("utf-8"))).Replace("+", "%20"));
        }
Example #3
0
        private void btnPreview_Click(object sender, EventArgs e)
        {
            PdfWatermark watermark = GetWatermark();

            if (watermark == null)
            {
                return;
            }

            if (!watermark.IsSet)
            {
                MessageBox.Show("Nothing to preview. Define watermark text or image.");
                return;
            }

            float paperWidth  = 0;
            float paperHeight = 0;

            if (IsValidFloat(tbPaperWidth.Text))
            {
                paperWidth = ParseFloat(tbPaperWidth.Text);
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for Paper width.", tbPaperWidth.Text));
                return;
            }

            if (IsValidFloat(tbPaperHeight.Text))
            {
                paperHeight = ParseFloat(tbPaperHeight.Text);
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for Paper height.", tbPaperHeight.Text));
                return;
            }

            if (IsValidFloat(tbOpacity.Text))
            {
                float opacityValue = ParseFloat(tbOpacity.Text);
                if (opacityValue > 100 || opacityValue < 0)
                {
                    MessageBox.Show(string.Format("{0} isn't valid value for Opacity.", tbOpacity.Text));
                    return;
                }
                watermark.Opacity = opacityValue;
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for Opacity.", tbOpacity.Text));
                return;
            }

            var previewForm = new PreviewWatermark(watermark, new SizeF(paperWidth, paperHeight));

            previewForm.ShowDialog();
        }
Example #4
0
 public WatermarkForm(PdfWatermark watermark, string paperWidth, string paperHeight, string imagePath)
 {
     InitializeComponent();
     Watermark          = watermark;
     _selectedColor     = watermark.TextColor;
     _selectedFont      = watermark.TextFont;
     tbPaperHeight.Text = paperHeight;
     tbPaperWidth.Text  = paperWidth;
     tbImagePath.Text   = imagePath;
     tbOpacity.Text     = watermark.Opacity.ToString();
 }
Example #5
0
        public ActionResult BbsFileDownload(int?bbs_file_idx) //11
        {
            System.IO.Stream fStream      = null;
            string           fileOrgName  = string.Empty;
            string           fileConvName = string.Empty;
            string           filePath     = string.Empty;


            BbsFileModel bbsfile = Mapper.Instance().QueryForObject <BbsFileModel>("Bbs.selBbsFile", new BbsFileModel {
                bbs_file_idx = bbs_file_idx
            });

            if (bbsfile == null)
            {
                throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
            }
            //foreach () { }
            fileOrgName  = bbsfile.file_org_nm;
            fileConvName = bbsfile.file_conv_nm;
            filePath     = System.Configuration.ConfigurationManager.AppSettings["BbsFilePath"].ToString() + "\\" + bbsfile.bbs_idx;


            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            if (fileConvName.ToLower().Contains(".pdf"))
            {
                PdfWatermark watermark     = new PdfWatermark();
                string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));
                fStream = CommonUtil.FileStream(watermarkFile);
            }
            else
            {
                fStream = CommonUtil.FileStream(filePath, fileConvName);
            }

            LogCtrl.SetLog(bbsfile, eActionType.FileDown, this.HttpContext, bbsfile.file_org_nm);

            if (Request.Browser.Browser == "IE" || Request.Browser.Browser == "InternetExplorer")
            {
                return(File(fStream, MediaTypeNames.Application.Octet, HttpUtility.UrlEncode(fileOrgName, System.Text.Encoding.UTF8)));
            }
            else
            {
                return(File(fStream, MediaTypeNames.Application.Octet, fileOrgName));
            }
        }
Example #6
0
        public ActionResult DistPdfViewer(int?dist_file_idx)
        {
            string fileOrgName  = string.Empty;
            string fileConvName = string.Empty;
            string filePath     = string.Empty;


            DistRecvFileModel distFile = Mapper.Instance().QueryForObject <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                dist_file_idx = dist_file_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });

            if (distFile == null)
            {
                throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
            }

            if (distFile.recv_dist_st == "DF")
            {
                throw new Exception(Resources.Resource.res0297);//배포가 만료된 파일입니다.
            }

            fileOrgName  = distFile.file_org_nm;
            fileConvName = distFile.file_conv_nm;

            if (distFile.is_itf == "N")
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + distFile.dist_idx;
            }
            else
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + distFile.part_no;
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = Resources.Resource.res0366; //파일이 없습니다.
                return(View());
            }

            PdfWatermark watermark     = new PdfWatermark();
            string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));

            LogCtrl.SetLog(distFile, eActionType.FileView, this.HttpContext, distFile.file_org_nm);

            string fPath = System.Configuration.ConfigurationManager.AppSettings["ViewTempFileUrl"].ToString() + "/" + Path.GetFileName(watermarkFile);

            ViewBag.Massage  = null;
            ViewBag.FileName = fPath;
            return(View("PdfViewer"));
        }
Example #7
0
        private void btnOK_Click(object sender, EventArgs e)
        {
            PdfWatermark watermark = GetWatermark();

            if (watermark != null)
            {
                if (!IsValidFloat(tbPaperWidth.Text))
                {
                    MessageBox.Show(string.Format("{0} isn't valid value for Paper width.", tbPaperWidth.Text));
                    return;
                }

                if (!IsValidFloat(tbPaperHeight.Text))
                {
                    MessageBox.Show(string.Format("{0} isn't valid value for Paper height.", tbPaperHeight.Text));
                    return;
                }

                Watermark    = watermark;
                DialogResult = DialogResult.OK;
                Close();
            }
        }
Example #8
0
        /// <summary>
        /// 일반 사용자가 내부 파일 받을 때 쓰는 함수
        /// </summary>
        /// <param name="link_file_idx"></param>
        /// <param name="is_itf"></param>
        /// <returns></returns>
        public ActionResult FileDownload(int?link_file_idx, string is_itf)
        {
            System.IO.Stream fStream      = null;
            string           fileOrgName  = string.Empty;
            string           fileConvName = string.Empty;
            string           filePath     = string.Empty;

            if (is_itf == "N")
            {
                DistTempFileModel fileInfo = Mapper.Instance().QueryForObject <DistTempFileModel>("DIST.selDistTempFile", new DistTempFileModel {
                    temp_file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + fileInfo.dist_idx;

                LogCtrl.SetLog(fileInfo, eActionType.FileDown, this.HttpContext, fileInfo.file_org_nm);
            }
            else
            {
                ItfFileInfo fileInfo = Mapper.Instance().QueryForObject <ItfFileInfo>("ITF.selItfFIleInfo", new ItfFileInfo {
                    file_idx = link_file_idx
                });

                if (fileInfo == null)
                {
                    throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
                }

                fileOrgName  = fileInfo.file_org_nm;
                fileConvName = fileInfo.file_conv_nm;

                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + fileInfo.part_no;

                LogCtrl.SetLog(fileInfo, eActionType.FileDown, this.HttpContext, fileInfo.file_org_nm);
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            if (fileConvName.ToLower().Contains(".pdf"))
            {
                PdfWatermark watermark     = new PdfWatermark();
                string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));
                fStream = CommonUtil.FileStream(watermarkFile);
            }
            else
            {
                fStream = CommonUtil.FileStream(filePath, fileConvName);
            }

            if (Request.Browser.Browser == "IE" || Request.Browser.Browser == "InternetExplorer")
            {
                return(File(fStream, MediaTypeNames.Application.Octet, HttpUtility.UrlEncode(fileOrgName, System.Text.Encoding.UTF8)));
            }
            else
            {
                return(File(fStream, MediaTypeNames.Application.Octet, fileOrgName));
            }
        }
Example #9
0
        public ActionResult DistAllFileDownload(int?dist_idx)
        {
            if (dist_idx == null)
            {
                throw new Exception(Resources.Resource.res0598);//잘못된 호출방식입니다.
            }

            DistMasterModel dist = Mapper.Instance().QueryForObject <DistMasterModel>("DIST.selDistMaster", new DistMasterModel {
                dist_idx = dist_idx
            });

            DistReceiverModel recv = Mapper.Instance().QueryForObject <DistReceiverModel>("DIST.selDistReceiver", new DistReceiverModel {
                dist_idx = dist_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });

            if (dist.dist_st == "CR")
            {
                throw new Exception(Resources.Resource.res0328);//"해당 배포 파일은 다운로드 할 수 없습니다."
            }

            if (dist.dist_st == "DF" && recv.recv_dist_st == "DF")
            {
                throw new Exception(Resources.Resource.res0297);//배포가 만료된 파일입니다.
            }

            var distFile = Mapper.Instance().QueryForList <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                dist_idx = dist_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });

            List <string[]> files = new List <string[]>();

            foreach (DistRecvFileModel recvFile in distFile)
            {
                //System.IO.Stream fStream = null;

                string fileOrgName  = recvFile.file_org_nm;
                string fileConvName = recvFile.file_conv_nm;

                string filePath = string.Empty;

                if (recvFile.is_itf == "N")
                {
                    filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + recvFile.dist_idx;
                }
                else
                {
                    filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + recvFile.part_no;
                }

                string downloadFileFullPath = string.Empty;

                if (!CommonUtil.IsFile(filePath, fileConvName))
                {
                    ViewBag.Massage = Resources.Resource.res0366; // 파일이 없습니다.
                    return(View("Common/DistFileDownload"));
                }

                if (fileConvName.ToLower().Contains(".pdf"))
                {
                    PdfWatermark watermark = new PdfWatermark();
                    downloadFileFullPath = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));
                }
                else
                {
                    downloadFileFullPath = Path.Combine(filePath, fileConvName);
                }

                files.Add(new string[] { downloadFileFullPath, recvFile.file_org_nm });

                LogCtrl.SetLog(recvFile, eActionType.FileDown, this.HttpContext, "전체 다운로드 : " + dist.dist_title);
            }

            using (var memoryStream = new MemoryStream())
            {
                using (ZipArchive ziparchive = new ZipArchive(memoryStream, ZipArchiveMode.Create, true))
                {
                    for (int i = 0; i < files.Count; i++)
                    {
                        if (System.IO.File.Exists(files[i][0].ToString()))
                        {
                            ziparchive.CreateEntryFromFile(files[i][0].ToString(), files[i][1].ToString());
                        }
                    }
                }
                return(File(memoryStream.ToArray(), "application/zip", HttpUtility.UrlEncode(dist.dist_title + ".zip", System.Text.Encoding.UTF8)));
            }
        }
Example #10
0
        /// <summary>
        /// 수신자가 다운로드 받는 함수
        /// </summary>
        /// <param name="dist_file_idx"></param>
        /// <returns></returns>
        public ActionResult DistFileDownload(int?dist_file_idx)
        {
            System.IO.Stream fStream      = null;
            string           fileOrgName  = string.Empty;
            string           fileConvName = string.Empty;
            string           filePath     = string.Empty;


            DistRecvFileModel distFile = Mapper.Instance().QueryForObject <DistRecvFileModel>("DIST.selDistRecvFile", new DistRecvFileModel {
                dist_file_idx = dist_file_idx, recv_us = Convert.ToInt32(Session["USER_IDX"])
            });
            DistMasterModel dist = Mapper.Instance().QueryForObject <DistMasterModel>("DIST.selDistMaster", new DistMasterModel {
                dist_idx = distFile.dist_idx
            });

            if (distFile == null)
            {
                throw new Exception(Resources.Resource.res0320);//잘못된 파일을 호출하셨습니다.
            }

            if (dist.dist_st == "CR")
            {
                throw new Exception("배포가 진행되지 않는 파일입니다.");
            }

            if (dist.dist_st == "DF" && distFile.recv_dist_st == "DF")
            {
                throw new Exception(Resources.Resource.res0297);//배포가 만료된 파일입니다.
            }

            fileOrgName  = distFile.file_org_nm;
            fileConvName = distFile.file_conv_nm;

            if (distFile.is_itf == "N")
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["LocalFilePath"].ToString() + "\\" + distFile.dist_idx;
            }
            else
            {
                filePath = System.Configuration.ConfigurationManager.AppSettings["EoFilePath"].ToString() + "\\" + distFile.part_no;
            }

            if (!CommonUtil.IsFile(filePath, fileConvName))
            {
                ViewBag.Massage = Resources.Resource.res0366; // 파일이 없습니다.
                return(View());
            }

            if (fileConvName.ToLower().Contains(".pdf"))
            {
                PdfWatermark watermark     = new PdfWatermark();
                string       watermarkFile = watermark.SetWaterMarkPdf(filePath, fileConvName, Convert.ToInt32(Session["USER_IDX"]), CommonUtil.GetRemoteIP(this.Request));
                fStream = CommonUtil.FileStream(watermarkFile);
            }
            else
            {
                fStream = CommonUtil.FileStream(filePath, fileConvName);
            }

            LogCtrl.SetLog(distFile, eActionType.FileDown, this.HttpContext, distFile.file_org_nm);

            if (Request.Browser.Browser == "IE" || Request.Browser.Browser == "InternetExplorer")
            {
                return(File(fStream, MediaTypeNames.Application.Octet, HttpUtility.UrlEncode(fileOrgName, System.Text.Encoding.UTF8)));
            }
            else
            {
                return(File(fStream, MediaTypeNames.Application.Octet, fileOrgName));
            }
        }
 public PreviewWatermark(PdfWatermark pdfWatermark, SizeF paperSize)
 {
     InitializeComponent();
     _pdfWatermark = pdfWatermark;
     _paperSize    = paperSize;
 }
Example #12
0
        private PdfWatermark GetWatermark()
        {
            PdfWatermark watermark = new PdfWatermark();

            try
            {
                if (!string.IsNullOrEmpty(tbImagePath.Text))
                {
                    watermark.Image = Image.FromFile(tbImagePath.Text);
                }
            }
            catch (Exception)
            {
                MessageBox.Show(string.Format("{0} isn't valid image file.", tbImagePath.Text));
                return(null);
            }

            watermark.Text = tbText.Text;
            if (IsValidFloat(tbRotationAngle.Text))
            {
                watermark.RotationAngle = ParseFloat(tbRotationAngle.Text);
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for rotation angle.", tbRotationAngle.Text));
                return(null);
            }

            if (IsValidFloat(tbX.Text))
            {
                watermark.X = ParseFloat(tbX.Text);
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for X.", tbX.Text));
                return(null);
            }

            if (IsValidFloat(tbY.Text))
            {
                watermark.Y = ParseFloat(tbY.Text);
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for Y.", tbY.Text));
                return(null);
            }

            if (IsValidFloat(tbOpacity.Text))
            {
                float opacityValue = ParseFloat(tbOpacity.Text);
                if (opacityValue > 100 || opacityValue < 0)
                {
                    MessageBox.Show(string.Format("{0} isn't valid value for Opacity.", tbOpacity.Text));
                    return(null);
                }
                watermark.Opacity = opacityValue;
            }
            else
            {
                MessageBox.Show(string.Format("{0} isn't valid value for Opacity.", tbOpacity.Text));
                return(null);
            }
            watermark.TextFont  = _selectedFont;
            watermark.TextColor = _selectedColor;
            watermark.UseRelativeCoordinates = cbUseRelativePercPosition.Checked;

            return(watermark);
        }