示例#1
0
    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);
    }
示例#2
0
    static void Main(string[] args)
    {
        Configuration.Default.Username = "******";
        // Configuration.Default.Debug = true; // Not supported in Csharp
        DocApi docraptor = new DocApi();

        Doc doc = new Doc(
            Name: new String('s', 201), // limit is 200 characters
            Test: true,
            DocumentContent: "<html><body>Hello from C#</body></html>",
            DocumentType: Doc.DocumentTypeEnum.Pdf
            );

        AsyncDoc response = docraptor.CreateAsyncDoc(doc);

        AsyncDocStatus status_response;

        for (int i = 0; i < 30; i++)
        {
            status_response = docraptor.GetAsyncDocStatus(response.StatusId);
            if (status_response.Status == "failed")
            {
                Environment.Exit(0);
            }
            Thread.Sleep(1000);
        }
        Console.WriteLine("Did not receive failed validation within 30 seconds.");
        Environment.Exit(1);
    }
示例#3
0
    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);
        }
    }
示例#4
0
    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-hosted-async.pdf",
            test: true,
            documentContent: "<html><body>Hello from C#</body></html>",
            documentType: Doc.DocumentTypeEnum.Pdf
            );

        AsyncDoc response = docraptor.CreateHostedAsyncDoc(doc);

        DocStatus statusResponse;

        while (true)
        {
            statusResponse = docraptor.GetAsyncDocStatus(response.StatusId);
            if (statusResponse.Status == "completed")
            {
                break;
            }
            else if (statusResponse.Status == "failed")
            {
                Console.WriteLine("Failed creating hosted async document");
                Environment.Exit(1);
            }
            Thread.Sleep(1000);
        }

        WebClient webClient = new WebClient();

        webClient.DownloadFile(statusResponse.DownloadUrl, @"/tmp/the-file-name.pdf");

        string line = File.ReadLines("/tmp/the-file-name.pdf").First();

        if (!line.Contains("%PDF-1.5"))
        {
            Console.WriteLine("unexpected file header: " + line);
            Environment.Exit(1);
        }
    }