コード例 #1
0
        /// <summary>
        /// 文件加密
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnEncrpt_Click(object sender, EventArgs e)
        {
            if (txtMagPDF.Text == "")
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0085I", db.Language);
                MessageBox.Show(msg);
                return;
            }
            string password = getPassword();

            if (string.IsNullOrEmpty(password))
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0116I", db.Language);
                MessageBox.Show(msg);
                return;
            }
            string destFile = Path.Combine(Path.GetDirectoryName(txtMagPDF.Text), "_" + Path.GetFileName(txtMagPDF.Text));

            try
            {
                NCPDF.DecriptPdfDoc(txtMagPDF.Text, destFile, password);
                File.Delete(txtMagPDF.Text);
                File.Move(destFile, txtMagPDF.Text);
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0117I", db.Language);
                MessageBox.Show(msg);
            }
            catch (Exception ex)
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0118I", db.Language);
                MessageBox.Show(msg);
                NCLogger.GetInstance().WriteExceptionLog(ex);
            }
        }
コード例 #2
0
        /// <summary>
        /// 文件信息取得
        /// </summary>
        /// <param name="file"></param>
        private IDictionary <string, string> getInforFromFile(string file)
        {
            IDictionary <string, string> info = new Dictionary <string, string>();

            NCPDF.GetInfor(file, ref info);
            return(info);
        }
コード例 #3
0
        /// <summary>
        /// 向PDF文件中加入信息
        /// </summary>
        /// <param name="file"></param>
        /// <param name="infor"></param>
        private void AddInforToPDF(string file, IDictionary <string, string> infor)
        {
            string dest = file + ".tmp";

            if (NCPDF.AddInfor(file, dest, infor))
            {
                File.Copy(dest, file, true);
                File.Delete(dest);
            }
        }
コード例 #4
0
        /// <summary>
        /// 文件合成
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnOuput_Click(object sender, EventArgs e)
        {
            if (txtMagPDF.Text == "")
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0085I", db.Language);
                MessageBox.Show(msg);
                return;
            }
            DataSet ds       = new DataSet();
            String  wheresql = "发行编号=" + PublishId.ToString();

            if (db.GetFile(0, 0, "*", wheresql, "文件序号", ref ds))
            {
                ArrayList fileList = new ArrayList();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    String fname = dr["文件名称"].ToString();
                    if (!File.Exists(fname))
                    {
                        string msg = String.Format(NCMessage.GetInstance(db.Language).GetMessageById("CM0087I", db.Language), fname);
                        MessageBox.Show(msg);
                        return;
                    }
                    fileList.Add(fname);
                }
                string[] files = new string[fileList.Count];
                fileList.CopyTo(files);
                if (NCPDF.MergeFiles(txtMagPDF.Text, files))
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0088I", db.Language);
                    MessageBox.Show(msg);
                }
                else
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0089I", db.Language);
                    MessageBox.Show(msg);
                }
            }
            else
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0086I", db.Language);
                MessageBox.Show(msg);
            }
        }
コード例 #5
0
 /// <summary>
 /// 追加当前文件
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btnAddFile_Click(object sender, EventArgs e)
 {
     if (txtFile.Text == "")
     {
         string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0090I", db.Language);
         MessageBox.Show(msg);
         return;
     }
     string[] files = txtFile.Text.Split(';');
     foreach (string file in files)
     {
         if (!File.Exists(file))
         {
             string msg = String.Format(NCMessage.GetInstance(db.Language).GetMessageById("CM0087I", db.Language), file);
             MessageBox.Show(msg);
             return;
         }
         int PageCount = NCPDF.CountPageNo(file);
         if (PageCount == 0)
         {
             string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0093I", db.Language);
             MessageBox.Show(msg);
             return;
         }
         int    rowNum    = getLastRowNum() + 1;
         int    id        = 0;
         String fieldlist = "期刊编号,发行编号,文件序号,文件栏目,文件名称,文件页数,UserID";
         String valuelist = MagId.ToString() + "," + PublishId.ToString() + ","
                            + rowNum.ToString() + ",'" + txtCategory.Text + "','" + file + "'," + PageCount.ToString()
                            + ",'" + db.UserID + "'";
         if (db.SetFile(0, 0, fieldlist,
                        "", valuelist, out id))
         {
             string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0094I", db.Language);
             MessageBox.Show(msg);
             init();
         }
         else
         {
             string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0095I", db.Language);
             MessageBox.Show(msg);
         }
     }
 }
コード例 #6
0
        /// <summary>
        /// 文件合并
        /// </summary>
        /// <param name="pdffile"></param>
        /// <param name="publishid"></param>
        private void filemerge(string pdffile, string publishid)
        {
            if (pdffile == "")
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0085I", db.Language);
                MessageBox.Show(msg);
                return;
            }
            DataSet ds       = new DataSet();
            String  wheresql = "发行编号=" + publishid;

            if (db.GetFile(0, 0, "*", wheresql, "文件序号", ref ds))
            {
                ArrayList fileList = new ArrayList();
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    String fname = dr["文件名称"].ToString();
                    if (!File.Exists(fname))
                    {
                        string msg = String.Format(NCMessage.GetInstance(db.Language).GetMessageById("CM0087I", db.Language), fname);
                        MessageBox.Show(msg);
                        return;
                    }
                    fileList.Add(fname);
                }
                string[] files = new string[fileList.Count];
                fileList.CopyTo(files);
                if (NCPDF.MergeFiles(pdffile, files))
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0088I", db.Language);
                    MessageBox.Show(msg);
                }
                else
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0089I", db.Language);
                    MessageBox.Show(msg);
                }
            }
            else
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0086I", db.Language);
                MessageBox.Show(msg);
            }
        }
コード例 #7
0
        private void btnSplit_Click(object sender, EventArgs e)
        {
            DateTime           dt_start = System.DateTime.Now;
            MagickReadSettings settings = new MagickReadSettings();

            settings.Density = new MagickGeometry(300, 300);
            OpenFileDialog dlg = new OpenFileDialog();

            if (dlg.ShowDialog() == DialogResult.OK)
            {
                string dbt_wfile     = dlg.FileName;
                string pdfFolderPath = Path.Combine(Path.GetDirectoryName(dbt_wfile),
                                                    Path.GetFileNameWithoutExtension(dbt_wfile));
                if (!Directory.Exists(pdfFolderPath))
                {
                    Directory.CreateDirectory(pdfFolderPath);
                }
                int count = NCPDF.CountPageNo(dbt_wfile);
                using (MagickImageCollection images = new MagickImageCollection())
                {
                    for (int idx = 0; idx < count; idx++)
                    {
                        string pdf_file = Path.Combine(pdfFolderPath, idx.ToString() + ".pdf");
                        NCPDF.ExtractPages(dbt_wfile, pdf_file, idx + 1, idx + 1);
                        images.Read(pdf_file, settings);

                        //int page = 0;
                        foreach (MagickImage image in images)
                        {
                            if (!File.Exists(pdfFolderPath + "\\image" + idx + ".jpg"))
                            {
                                image.Write(pdfFolderPath + "\\image" + idx + ".jpg");
                            }
                            //page++;
                        }
                        File.Delete(pdf_file);
                    }
                }
            }
            MessageBox.Show(DateTime.Now.Subtract(dt_start).Duration().Seconds.ToString());
        }
コード例 #8
0
        /// <summary>
        /// 文件追加
        /// </summary>
        /// <param name="magFile"></param>
        /// <param name="magId"></param>
        /// <param name="publishid"></param>
        private void addFiles(string magFile, string magId, string publishid)
        {
            string[] files  = magFile.Split(';');
            int      rowNum = 1;

            // 文件追加
            foreach (string file in files)
            {
                if (!File.Exists(file))
                {
                    string msg = String.Format(NCMessage.GetInstance(db.Language).GetMessageById("CM0087I", db.Language), file);
                    MessageBox.Show(msg);
                    return;
                }
                int PageCount = NCPDF.CountPageNo(file);
                if (PageCount == 0)
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0093I", db.Language);
                    MessageBox.Show(msg);
                    return;
                }
                string category  = Path.GetFileName(Path.GetDirectoryName(file));
                string fieldlist = "期刊编号,发行编号,文件序号,文件栏目,文件名称,文件页数,UserID";
                string valuelist = magId + "," + publishid + ","
                                   + rowNum.ToString() + ",'" + category + "','" + file + "'," + PageCount.ToString()
                                   + ",'" + db.UserID + "'";
                int id = 0;
                if (db.SetFile(0, 0, fieldlist,
                               "", valuelist, out id))
                {
                    rowNum++;
                }
                else
                {
                    string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0095I", db.Language);
                    MessageBox.Show(msg);
                    return;
                }
            }
        }
コード例 #9
0
        /// <summary>
        /// 创建目录
        /// </summary>
        /// <returns></returns>
        private String createCategory()
        {
            String  ret      = "目录\r\n";
            int     totalNum = 2;
            DataSet ds       = new DataSet();
            String  wheresql = "发行编号=" + PublishId.ToString() + " AND 文件序号>0";

            if (db.GetFile(0, 0, "*", wheresql, "文件序号", ref ds))
            {
                string preline     = null;
                String precategory = null;
                foreach (DataRow dr in ds.Tables[0].Rows)
                {
                    String fname = dr["文件名称"].ToString();
                    if (!File.Exists(fname))
                    {
                        string msg = String.Format(NCMessage.GetInstance(db.Language).GetMessageById("CM0086I", db.Language), fname);
                        MessageBox.Show(msg);
                        return(null);
                    }
                    String category = dr["文件栏目"].ToString();
                    if (precategory == null || precategory != category)
                    {
                        precategory = category;
                        ret        += precategory + "\r\n";
                    }
                    string line = Path.GetFileNameWithoutExtension(fname);
                    String num  = dr["文件序号"].ToString();
                    if (num == BottomNum.ToString() && line.Length > 8)
                    {
                        line = line.Substring(0, line.Length - 8);
                    }
                    int pos = line.LastIndexOf("_");
                    if (pos > -1)
                    {
                        line = line.Substring(pos + 1);
                    }
                    if (preline == null || !line.Equals(preline))
                    {
                        preline = line;
                        int size = Encoding.GetEncoding("UTF-8").GetByteCount(line);
                        if (size >= 35)
                        {
                            ret += line + "\r\n";
                            line = totalNum.ToString().PadLeft(36, '.');
                            ret += line + "\r\n";
                        }
                        else
                        {
                            line = line + totalNum.ToString().PadLeft(36 - size, '.');
                            ret += line + "\r\n";
                        }
                    }
                    int rowNum = NCPDF.CountPageNo(fname);
                    totalNum += rowNum;
                }
            }
            else
            {
                string msg = NCMessage.GetInstance(db.Language).GetMessageById("CM0086I", db.Language);
                MessageBox.Show(msg);
            }
            return(ret);
        }