forked from pdfrest/pdfrest-api-samples
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpdf-with-page-boxes-set.cs
More file actions
73 lines (59 loc) · 2.77 KB
/
Copy pathpdf-with-page-boxes-set.cs
File metadata and controls
73 lines (59 loc) · 2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using System.Text;
using (var httpClient = new HttpClient { BaseAddress = new Uri("https://api.pdfrest.com") })
{
using (var uploadRequest = new HttpRequestMessage(HttpMethod.Post, "upload"))
{
uploadRequest.Headers.TryAddWithoutValidation("Api-Key", "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
uploadRequest.Headers.Accept.Add(new("application/json"));
var uploadByteArray = File.ReadAllBytes("/path/to/file");
var uploadByteAryContent = new ByteArrayContent(uploadByteArray);
uploadByteAryContent.Headers.TryAddWithoutValidation("Content-Type", "application/octet-stream");
uploadByteAryContent.Headers.TryAddWithoutValidation("Content-Filename", "filename.pdf");
uploadRequest.Content = uploadByteAryContent;
var uploadResponse = await httpClient.SendAsync(uploadRequest);
var uploadResult = await uploadResponse.Content.ReadAsStringAsync();
Console.WriteLine("Upload response received.");
Console.WriteLine(uploadResult);
JObject uploadResultJson = JObject.Parse(uploadResult);
var uploadedID = uploadResultJson["files"][0]["id"];
using (var SetBoxesRequest = new HttpRequestMessage(HttpMethod.Post, "pdf-with-page-boxes-set"))
{
SetBoxesRequest.Headers.TryAddWithoutValidation("Api-Key", "xxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx");
SetBoxesRequest.Headers.Accept.Add(new("application/json"));
SetBoxesRequest.Headers.TryAddWithoutValidation("Content-Type", "application/json");
var boxOptions = new JObject
{
["boxes"] = new JArray
{
new JObject
{
["box"] = "media",
["pages"] = new JArray
{
new JObject
{
["range"] = "1",
["left"] = 100,
["top"] = 100,
["bottom"] = 100,
["right"] = 100
}
}
}
}
};
JObject parameterJson = new JObject
{
["id"] = uploadedID,
["boxes"] = boxOptions.ToString(Formatting.None),
};
SetBoxesRequest.Content = new StringContent(parameterJson.ToString(), Encoding.UTF8, "application/json"); ;
var SetBoxesResponse = await httpClient.SendAsync(SetBoxesRequest);
var SetBoxesResult = await SetBoxesResponse.Content.ReadAsStringAsync();
Console.WriteLine("Processing response received.");
Console.WriteLine(SetBoxesResult);
}
}
}