Skip to content

Commit cdff86b

Browse files
PDFCLOUD-5051: added snippets for Conversions
1 parent cd6d815 commit cdff86b

27 files changed

+842
-0
lines changed
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<OutputType>Exe</OutputType>
5+
<TargetFramework>net8.0</TargetFramework>
6+
<ImplicitUsings>enable</ImplicitUsings>
7+
<Nullable>enable</Nullable>
8+
</PropertyGroup>
9+
10+
<ItemGroup>
11+
<ProjectReference Include="..\..\src\Aspose.Pdf.Cloud.Sdk\Aspose.Pdf.Cloud.Sdk.csproj" />
12+
</ItemGroup>
13+
14+
</Project>
Lines changed: 103 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,103 @@
1+
using Aspose.Pdf.Cloud.Sdk.Api;
2+
using Aspose.Pdf.Cloud.Sdk.Model;
3+
using Newtonsoft.Json;
4+
5+
namespace Conversions
6+
{
7+
public class ConfigParams
8+
{
9+
public string CrdentialPath { get; } = "c:\\Projects\\ASPOSE\\Pdf.Cloud\\Credentials\\credentials.json";
10+
public string LOCAL_FOLDER { get; } = "C:\\Samples";
11+
public string REMOTE_TEMP_FOLDER { get; } = "TempPdfCloud";
12+
public string PDF_DOCUMENT { get; } = "sample.pdf";
13+
14+
public string JPEG_FILE_NAME { get; } = "sample.jpg";
15+
public string BMP_FILE_NAME { get; } = "sample.bmp";
16+
public string PNG_FILE_NAME { get; } = "sample.png";
17+
public string GIF_FILE_NAME { get; } = "sample.gif";
18+
19+
public string PDF_BMP_OUTPUT { get; } = "output_bmp.pdf";
20+
public string PDF_JPEG_OUTPUT { get; } = "output_jpeg.pdf";
21+
public string PDF_PNG_OUTPUT { get; } = "output_png.pdf";
22+
public string PDF_GIF_OUTPUT { get; } = "output_gif.pdf";
23+
24+
public string HTML_FILE_NAME { get; } = "sample.html";
25+
public double PDF_HTML_WIDTH { get; } = 600;
26+
public double PDF_HTML_HEIGHT { get; } = 850;
27+
public string PDF_HTML_OUTPUT { get; } = "output_html.pdf";
28+
29+
public string MHTML_FILE_NAME { get; } = "sample.mht";
30+
public string PDF_MHTML_OUTPUT { get; } = "output_mht.pdf";
31+
32+
public string MD_FILE_NAME { get; } = "sample.md";
33+
public string PDF_MD_OUTPUT { get; } = "output_md.pdf";
34+
35+
public string EPUB_FILE_NAME { get; } = "sample.epub";
36+
public string PDF_EPUB_OUTPUT { get; } = "output_epub.pdf";
37+
38+
public string PCL_FILE_NAME { get; } = "sample.pcl";
39+
public string PDF_PCL_OUTPUT { get; } = "output_pcl.pdf";
40+
41+
public string PS_FILE_NAME { get; } = "sample.ps";
42+
public string PDF_PS_OUTPUT { get; } = "output_ps.pdf";
43+
44+
public string PDF_OUTPUT { get; } = "output_sample.pdf";
45+
public string DOC_OUTPUT { get; } = "output_sample.doc";
46+
public string DOCX_OUTPUT { get; } = "output_sample.docx";
47+
public string EPUB_OUTPUT { get; } = "output_sample.epub";
48+
public string HTML_ZIP_OUTPUT { get; } = "output_sample_html.zip";
49+
public string TIFF_OUTPUT { get; } = "output_sample.tiff";
50+
public string SVG_ZIP_OUTPUT { get; } = "output_sample_svg.zip";
51+
public string XLS_OUTPUT { get; } = "output_sample.xls";
52+
public string XLSX_OUTPUT { get; } = "output_sample.xlsx";
53+
public string PPTX_OUTPUT { get; } = "output_sample.pptx";
54+
public string XML_OUTPUT { get; } = "output_sample.xml";
55+
public string MXML_OUTPUT { get; } = "output_sample.mobi";
56+
public string TEX_OUTPUT { get; } = "output_sample.tex";
57+
public string XPS_OUTPUT { get; } = "output_sample.xps";
58+
}
59+
60+
public class Credentials
61+
{
62+
public string Id { get; set; }
63+
public string Key { get; set; }
64+
}
65+
66+
public class ConversionsHelper
67+
{
68+
public PdfApi pdfApi { get; private set; }
69+
public ConfigParams config { get; private set; }
70+
71+
public ConversionsHelper()
72+
{
73+
config = new ConfigParams();
74+
string jsCredText = File.ReadAllText(config.CrdentialPath);
75+
Credentials cred = JsonConvert.DeserializeObject<Credentials>(jsCredText);
76+
pdfApi = new PdfApi(cred.Key, cred.Id);
77+
}
78+
79+
public async Task UploadFile(string fileName)
80+
{
81+
using (var file = File.OpenRead(Path.Combine(config.LOCAL_FOLDER, fileName)))
82+
{
83+
FilesUploadResult response = await pdfApi.UploadFileAsync(Path.Combine(config.REMOTE_TEMP_FOLDER, fileName), file);
84+
if (response == null)
85+
Console.WriteLine("UploadFile(): Unexpected error - no response!");
86+
else if (response.Errors != null && response.Errors.Count > 0)
87+
foreach (var error in response.Errors)
88+
Console.WriteLine("UploadFile(): {0} -> {1}", [error.Code, error.Message]);
89+
else
90+
Console.WriteLine("UploadFile(): File '{0}' successfully uploaded.", fileName);
91+
}
92+
}
93+
94+
public async Task DownloadFile(string fileName)
95+
{
96+
Stream stream = pdfApi.DownloadFile(Path.Combine(config.REMOTE_TEMP_FOLDER, fileName));
97+
using var fileStream = File.Create(Path.Combine(config.LOCAL_FOLDER, fileName));
98+
stream.Position = 0;
99+
await stream.CopyToAsync(fileStream);
100+
Console.WriteLine("DownloadFile(): File '{0}' successfully downloaded.", fileName);
101+
}
102+
}
103+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertBMPToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string bmpFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(bmpFile);
10+
11+
List<ImageTemplate> imageTemplateList = new List<ImageTemplate> {
12+
new ImageTemplate(ImagePath: Path.Combine(remoteFolder, bmpFile), ImageSrcType: ImageSrcType.Common)
13+
};
14+
15+
ImageTemplatesRequest imageTemplatesRequest = new ImageTemplatesRequest(
16+
IsOCR: true,
17+
OCRLangs: "eng",
18+
ImagesList: imageTemplateList
19+
);
20+
21+
AsposeResponse response = await helper.pdfApi.PutImageInStorageToPdfAsync(pdfOutput, imageTemplatesRequest, dstFolder: remoteFolder);
22+
23+
if (response == null)
24+
Console.WriteLine("ConvertBMPToPDF(): Unexpected error!");
25+
else if (response.Code < 200 || response.Code > 299)
26+
Console.WriteLine("ConvertBMPToPDF(): Failed to convert BMP to PDF.");
27+
else
28+
{
29+
Console.WriteLine("ConvertBMPToPDF(): image file '{0}' successfully converted to '{1}' file.", bmpFile, pdfOutput);
30+
await helper.DownloadFile(pdfOutput);
31+
}
32+
}
33+
}
34+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertEPUBToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string epubFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(epubFile);
10+
11+
string srcPath = Path.Combine(remoteFolder, epubFile);
12+
13+
AsposeResponse response = await helper.pdfApi.PutEpubInStorageToPdfAsync(pdfOutput, srcPath, dstFolder: remoteFolder);
14+
15+
if (response == null)
16+
Console.WriteLine("ConvertEPUBToPDF(): Unexpected error!");
17+
else if (response.Code < 200 || response.Code > 299)
18+
Console.WriteLine("ConvertEPUBToPDF(): Failed to convert EPUB to PDF.");
19+
else
20+
{
21+
Console.WriteLine("ConvertEPUBToPDF(): file '{0}' successfully converted to '{1}' file.", epubFile, pdfOutput);
22+
await helper.DownloadFile(pdfOutput);
23+
}
24+
}
25+
}
26+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertGIFToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string gifFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(gifFile);
10+
11+
List<ImageTemplate> imageTemplateList = new List<ImageTemplate> {
12+
new ImageTemplate(ImagePath: Path.Combine(remoteFolder, gifFile), ImageSrcType: ImageSrcType.Common)
13+
};
14+
15+
ImageTemplatesRequest imageTemplatesRequest = new ImageTemplatesRequest(
16+
IsOCR: true,
17+
OCRLangs: "eng",
18+
ImagesList: imageTemplateList
19+
);
20+
21+
AsposeResponse response = await helper.pdfApi.PutImageInStorageToPdfAsync(pdfOutput, imageTemplatesRequest, dstFolder: remoteFolder);
22+
23+
if (response == null)
24+
Console.WriteLine("ConvertGIFToPDF(): Unexpected error!");
25+
else if (response.Code < 200 || response.Code > 299)
26+
Console.WriteLine("ConvertGIFToPDF(): Failed to convert GIF to PDF.");
27+
else
28+
{
29+
Console.WriteLine("ConvertGIFToPDF(): image file '{0}' successfully converted to '{1}' file.", gifFile, pdfOutput);
30+
await helper.DownloadFile(pdfOutput);
31+
}
32+
}
33+
}
34+
}
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertHTMLToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string htmlFile, string pdfOutput, double pdfWidth, double pdfHeight, string remoteFolder)
8+
{
9+
await helper.UploadFile(htmlFile);
10+
11+
string srcPath = Path.Combine(remoteFolder, htmlFile);
12+
13+
AsposeResponse response = await helper.pdfApi.PutHtmlInStorageToPdfAsync(
14+
pdfOutput, srcPath,
15+
htmlFileName: htmlFile,
16+
width: pdfWidth,
17+
height: pdfHeight,
18+
dstFolder: remoteFolder);
19+
20+
if (response == null)
21+
Console.WriteLine("ConvertHTMLToPDF(): Unexpected error!");
22+
else if (response.Code < 200 || response.Code > 299)
23+
Console.WriteLine("ConvertHTMLToPDF(): Failed to convert HTML to PDF.");
24+
else
25+
{
26+
Console.WriteLine("ConvertHTMLToPDF(): file '{0}' successfully converted to '{1}' file.", htmlFile, pdfOutput);
27+
await helper.DownloadFile(pdfOutput);
28+
}
29+
}
30+
}
31+
}
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
using System.IO.Compression;
3+
4+
namespace Conversions
5+
{
6+
public class ConvertImagesToPDF
7+
{
8+
public static async Task Convert(ConversionsHelper helper, List<string> images, string pdfOutput, string remoteFolder)
9+
{
10+
List<ImageTemplate> imageTemplateList = new List<ImageTemplate>();
11+
foreach (string image in images)
12+
{
13+
await helper.UploadFile(image);
14+
ImageTemplate template = new ImageTemplate(ImagePath: Path.Combine(remoteFolder, image), ImageSrcType: ImageSrcType.Common);
15+
imageTemplateList.Add(template);
16+
};
17+
18+
ImageTemplatesRequest imageTemplatesRequest = new ImageTemplatesRequest(
19+
IsOCR: true,
20+
OCRLangs: "eng",
21+
ImagesList: imageTemplateList
22+
);
23+
24+
AsposeResponse response = await helper.pdfApi.PutImageInStorageToPdfAsync(pdfOutput, imageTemplatesRequest, dstFolder: remoteFolder);
25+
26+
if (response == null)
27+
Console.WriteLine("ConvertImagesToPDF(): Unexpected error!");
28+
else if (response.Code < 200 || response.Code > 299)
29+
Console.WriteLine("ConvertImagesToPDF(): Failed to convert BMP to PDF.");
30+
else
31+
{
32+
Console.WriteLine("ConvertImagesToPDF(): image files successfully converted to '{0}' file.", pdfOutput);
33+
await helper.DownloadFile(pdfOutput);
34+
}
35+
}
36+
}
37+
}
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertJPEGToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string jpegFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(jpegFile);
10+
11+
List<ImageTemplate> imageTemplateList = new List<ImageTemplate> {
12+
new ImageTemplate(ImagePath: Path.Combine(remoteFolder, jpegFile), ImageSrcType: ImageSrcType.Common)
13+
};
14+
15+
ImageTemplatesRequest imageTemplatesRequest = new ImageTemplatesRequest(
16+
IsOCR: true,
17+
OCRLangs: "eng",
18+
ImagesList: imageTemplateList
19+
);
20+
21+
AsposeResponse response = await helper.pdfApi.PutImageInStorageToPdfAsync(pdfOutput, imageTemplatesRequest, dstFolder: remoteFolder);
22+
23+
if (response == null)
24+
Console.WriteLine("ConvertJPEGToPDF(): Unexpected error!");
25+
else if (response.Code < 200 || response.Code > 299)
26+
Console.WriteLine("ConvertJPEGToPDF(): Failed to convert JPEG to PDF.");
27+
else
28+
{
29+
Console.WriteLine("ConvertJPEGToPDF(): image file '{0}' successfully converted to '{1}' file.", jpegFile, pdfOutput);
30+
await helper.DownloadFile(pdfOutput);
31+
}
32+
}
33+
}
34+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertMarkdownToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string mdFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(mdFile);
10+
11+
string srcPath = Path.Combine(remoteFolder, mdFile);
12+
13+
AsposeResponse response = await helper.pdfApi.PutMarkdownInStorageToPdfAsync(pdfOutput, srcPath, dstFolder: remoteFolder);
14+
15+
if (response == null)
16+
Console.WriteLine("ConvertMarkdownToPDF(): Unexpected error!");
17+
else if (response.Code < 200 || response.Code > 299)
18+
Console.WriteLine("ConvertMarkdownToPDF(): Failed to convert Markdown to PDF.");
19+
else
20+
{
21+
Console.WriteLine("ConvertMarkdownToPDF(): file '{0}' successfully converted to '{1}' file.", mdFile, pdfOutput);
22+
await helper.DownloadFile(pdfOutput);
23+
}
24+
}
25+
}
26+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
using Aspose.Pdf.Cloud.Sdk.Model;
2+
3+
namespace Conversions
4+
{
5+
public class ConvertMHTMLToPDF
6+
{
7+
public static async Task Convert(ConversionsHelper helper, string mhtFile, string pdfOutput, string remoteFolder)
8+
{
9+
await helper.UploadFile(mhtFile);
10+
11+
string srcPath = Path.Combine(remoteFolder, mhtFile);
12+
13+
AsposeResponse response = await helper.pdfApi.PutMhtInStorageToPdfAsync(pdfOutput, srcPath, dstFolder: remoteFolder);
14+
15+
if (response == null)
16+
Console.WriteLine("ConvertMHTMLToPDF(): Unexpected error!");
17+
else if (response.Code < 200 || response.Code > 299)
18+
Console.WriteLine("ConvertMHTMLToPDF(): Failed to convert MHTML to PDF.");
19+
else
20+
{
21+
Console.WriteLine("ConvertMHTMLToPDF(): file '{0}' successfully converted to '{1}' file.", mhtFile, pdfOutput);
22+
await helper.DownloadFile(pdfOutput);
23+
}
24+
}
25+
}
26+
}

0 commit comments

Comments
 (0)