예제 #1
0
        public static async Task CombineFilesAsync(List <FileInfo> fileList, FileInfo toFile)
        {
            try
            {
                toFile.Refresh();
                var ps = new PdfService.PdfConvertClient();

                var fileData = new List <PdfService.FileItem>();

                fileList.ForEach((file) =>
                {
                    file.Refresh();
                    if (file.Exists)
                    {
                        fileData.Add(new PdfService.FileItem()
                        {
                            FileName = file.Name.Replace(",", "_").Replace(" ", "_"),
                            Data     = File.ReadAllBytes(file.FullName)
                        });
                    }
                });


                foreach (var fd in fileData)
                {
                    Debug.WriteLine(fd.FileName + " " + fd.Data.Length);
                }

                try
                {
                    var finalFile = await ps.CombineFilesIntoOnePdfAsync(fileData);

                    if (toFile.Exists)
                    {
                        try
                        {
                            toFile.Delete();
                        }
                        catch (Exception)
                        {
                        }
                    }
                    var f = new FileStream(toFile.FullName, FileMode.Create);
                    f.Write(finalFile.Data, 0, finalFile.Data.Length);
                    f.Close();
                    toFile.Refresh();
                }
                catch (Exception ex)
                {
                    throw new Exception("Could not combine files: " + ex.Message, ex);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
예제 #2
0
 public PdfConvertClient(EndpointConfiguration endpointConfiguration, string remoteAddress) :
     base(PdfConvertClient.GetBindingForEndpoint(endpointConfiguration), new System.ServiceModel.EndpointAddress(remoteAddress))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
예제 #3
0
 public PdfConvertClient(EndpointConfiguration endpointConfiguration) :
     base(PdfConvertClient.GetBindingForEndpoint(endpointConfiguration), PdfConvertClient.GetEndpointAddress(endpointConfiguration))
 {
     this.Endpoint.Name = endpointConfiguration.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
예제 #4
0
 public PdfConvertClient() :
     base(PdfConvertClient.GetDefaultBinding(), PdfConvertClient.GetDefaultEndpointAddress())
 {
     this.Endpoint.Name = EndpointConfiguration.BasicHttpBinding_IPdfConvert.ToString();
     ConfigureEndpoint(this.Endpoint, this.ClientCredentials);
 }
예제 #5
0
 private static System.ServiceModel.EndpointAddress GetDefaultEndpointAddress()
 {
     return(PdfConvertClient.GetEndpointAddress(EndpointConfiguration.BasicHttpBinding_IPdfConvert));
 }
예제 #6
0
 private static System.ServiceModel.Channels.Binding GetDefaultBinding()
 {
     return(PdfConvertClient.GetBindingForEndpoint(EndpointConfiguration.BasicHttpBinding_IPdfConvert));
 }