Exemple #1
0
        public Boolean AddCertificates(Certificate certificate,ref PdfDocument pdfDocument)
        {
            try
              {
            //Add certificate pages from separate pdf files on other pages
            foreach (Certificate.CertificatePage cert in certificate.CertificatePages)
            {
              PdfDocument origDocument = PdfReader.Open(cert.TempFilePath, PdfDocumentOpenMode.Import);

              //Add certificate pages from current pdf
              foreach (PdfPage page in origDocument.Pages)
              {
            pdfDocument.AddPage(page);
              }
            }

            return true;
              }
              catch (Exception ex)
              {
            String errorMessage = "Error while adding certificates to new document.";
            return false;
              }
        }
        public Boolean GetCertificatesInfo(List<String> certificateDocIds)
        {
            foreach (var docId in certificateDocIds)
              {
            Certificate certificate = new Certificate();
            certificate.CertificatePages = new List<Certificate.CertificatePage>();
            certificate.DocId = docId;

            Stream myStream;
            String uriString = String.Empty;

            try
            {
              // Get certificate info file
              WebClient myWebClient = new WebClient();
              uriString = String.Format("{0}/archive?info&pVersion={1}&contRep={2}&docId={3}", this.IXOSurl, this.IXOSVersion, this.ArchiveID, docId);

              Trace.WriteLine(uriString, "GetCertificatesInfo");

              myStream = myWebClient.OpenRead(uriString);
            }
            catch (Exception ex)
            {
              String message = String.Format("Error while retrieving documentinfo from IXOS Server. DocID: {0}", docId);

              Trace.WriteLine(message, "GetCertificatesInfo");
              Trace.WriteLine(ex.Message, "GetCertificatesInfo");

              continue;
            }

            Certificate.CertificatePage page = new Certificate.CertificatePage();

            try
            {
              // Open a stream to point to the data stream coming from the Web resource.
              using (StreamReader sr = new StreamReader(myStream))
              {
            string line;
            while ((line = sr.ReadLine()) != null)
            {
              if (line.StartsWith("--"))
              {
                if (!String.IsNullOrEmpty(page.CompId))
                  if (page.CompId.StartsWith("data"))
                    certificate.CertificatePages.Add(page);

                page = new Certificate.CertificatePage();
              }

              String key = line.Split(':')[0];
              String value = (line.Split(':').Count() > 1) ? line.Split(':')[1].Trim() : String.Empty;

              switch (key)
              {

                case "Content-Type":
                  page.ContentType = value;
                  break;

                case "X-compId":
                  page.CompId = value;
                  break;
              }
            }
              }
              this.Certificates.Add(certificate);
            }
            catch (Exception ex)
            {
              String message = String.Format("Error while reading documentinfo from IXOS Server. DocID: {0}", docId);

              Trace.WriteLine(message, "GetCertificatesInfo");
              Trace.WriteLine(ex.Message, "GetCertificatesInfo");

              continue;
            }

            // Close the stream.
            myStream.Close();
              }
              return true;
        }