static void Main(string[] args) { DocApi docraptor = new DocApi(); docraptor.Configuration.Username = "******"; // docraptor.Configuration.Debug = true; // Not supported in Csharp Doc doc = new Doc( name: "csharp-async.pdf", test: true, documentContent: "<html><body>Hello from C#</body></html>", documentType: Doc.DocumentTypeEnum.Pdf ); AsyncDoc response = docraptor.CreateAsyncDoc(doc); DocStatus statusResponse; while (true) { statusResponse = docraptor.GetAsyncDocStatus(response.StatusId); if (statusResponse.Status == "completed") { break; } Thread.Sleep(1000); } docraptor.GetAsyncDoc(statusResponse.DownloadId); }
static void Main(string[] args) { try { Configuration.Default.Username = "******"; // this key works for test documents DocApi docraptor = new DocApi(); Doc doc = new Doc( Test: true, // test documents are free but watermarked DocumentContent: "<html><body>Hello World</body></html>", // supply content directly // DocumentUrl: "http://docraptor.com/examples/invoice.html", // or use a url Name: "docraptor-csharp.pdf", // help you find a document later DocumentType: Doc.DocumentTypeEnum.Pdf // pdf or xls or xlsx // Javascript: true, // enable JavaScript processing // PrinceOptions: new PrinceOptions( // Media: "screen", // use screen styles instead of print styles // Baseurl: "http://hello.com" // pretend URL when using document_content // ) ); AsyncDoc response = docraptor.CreateAsyncDoc(doc); AsyncDocStatus status_response; Boolean done = false; while (!done) { status_response = docraptor.GetAsyncDocStatus(response.StatusId); Console.WriteLine("doc status: " + status_response.Status); switch (status_response.Status) { case "completed": done = true; byte[] doc_response = docraptor.GetAsyncDoc(status_response.DownloadId); File.WriteAllBytes("/tmp/docraptor-csharp.pdf", doc_response); Console.WriteLine("Wrote PDF to /tmp/docraptor-csharp.pdf"); break; case "failed": done = true; Console.WriteLine("FAILED"); Console.WriteLine(status_response); break; default: Thread.Sleep(1000); break; } } } catch (DocRaptor.Client.ApiException error) { Console.WriteLine(error); } }