Esempio n. 1
0
        public async void SpireChange(string url)
        {
            //url = "https://openapi.bestsign.info/openapi/v2/storage/contract/download/?developerId=1552635811012161536&rtick=15879806269530&signType=rsa&sign=QIAwfvzYdj2VyEZiPQq10TkDhxxwnBPZQzuvfjSeER9qNcuff6fp6zI34UrnRyM8FQURyRaEt98H37Ntnccdv12SZ0KN1CRu1w3%2F0EODcZVfUMFucotHOGgoAagBHrZQS6Zc9rvDWaNazYQFRW8hYS3XnmDaQkCqSJ%2FOt%2BRqcNVX8hvyZkYqSuU6GDz7JbtdKV%2B2glUfGJyeNPQcLuzTFTqrLGwOIwRrela6f0CafNkwfpOURvkiTUgf0Hd4Gt5OXw22%2FL2EDYvEaXlIjyastkGc2WXLcNGMnTAk7HTKfULcmEFyBzVKYeuvhAt6pCDW01M7kQQPXi%2Fi6KA5KhZ%2F%2Bw%3D%3D&contractId=158797930501000001";
            url = "https://openapi.bestsign.info/openapi/v2/storage/contract/download/?developerId=1552635811012161536&rtick=15895128046650&signType=rsa&sign=Gh6GoWVXqfB%2FvGSn1TcXKfr%2Fjl4TdaQggmDSLfDHaUoduJXvns1r7ZlVFi9Q2HVtipuSiqYl0DnfTSoRDdd42LQOgB9BL56N9UJXB0D8tK4u3CZd7xtNCi%2Fwr%2BeyXi%2FvaiupJeIZnaXGL1rfsE%2BowLGJyFmbBhnpWMZze9v2Q3rXm49YvXrVZam0yYXU56v3UfLAwZh1zwGj5mVbLgW1UMAqfLRJnP%2FJVfRJZQrJ7Zl1uQxgZGRQjjilghbijTkA3Z3%2Fy9I1fV4JCW7QPbciBFyrg7wXFSAnKnuqGPbBRXsQpxdEdYYRAyw4H%2Be3kOE1ccOoROpxH%2Bc7qEiJRdVgkA%3D%3D&contractId=158797930501000001";
            //加载文档
            Spire.Pdf.PdfDocument doc = new Spire.Pdf.PdfDocument();
            byte[] buffer             = await GetStream(url);

            doc.LoadFromBytes(buffer);
            StringBuilder str       = new StringBuilder();
            List <Image>  ListImage = new List <Image>();

            foreach (PdfPageBase page in doc.Pages)
            {
                // 获取所有pages里面的图片
                Image[] images = page.ExtractImages();
                if (images != null && images.Length > 0)
                {
                    ListImage.AddRange(images);
                }

                str.Append(page.ExtractText().Replace("Evaluation Warning : The document was created with Spire.PDF for .NET.", ""));

                /*PdfTextFind[] result = page.FindText("使用人确认签字", TextFindParameter.None).Finds;
                 * foreach (PdfTextFind text in result)
                 * {
                 *  //获取文字的坐标,宽度和高度
                 *  PointF pf = text.Position;
                 *  SizeF size = text.Size;
                 *  pf.X = pf.X;
                 *  pf.Y = pf.Y;
                 *  str.Append(pf + " size:" + size + Environment.NewLine);
                 * }*/
            }

            // 将提取到的图片保存到本地路径
            //if (ListImage.Count > 0)
            {
                for (int i = 0; i < ListImage.Count; i++)
                {
                    Image image = ListImage[i];
                    image.Save("image" + (i + 1).ToString() + ".png", System.Drawing.Imaging.ImageFormat.Png);
                }
            }

            doc.SaveToFile("PDF.html", FileFormat.HTML);
            doc.SaveToFile("下载.pdf", FileFormat.PDF);
            this.richTextBox1.Text = str.ToString();
        }