예제 #1
0
        public async Task ValidateJobAsync_Simple()
        {
            var file = Path.Combine(TestContext.CurrentContext.WorkDirectory, "Resources", "word-2-pages.pdf");

            await using var stream = new FileStream(file, FileMode.Open, FileAccess.Read);
            var request = new ValidateJobRequest {
                PrinterUri = Options.Value.PrinterUrl, Document = stream
            };

            await TestRequestAsync(request, (client, r) => client.ValidateJobAsync(r));
        }
예제 #2
0
        public void ValidateJobAsync_Simple()
        {
            var file = Path.Combine(TestContext.CurrentContext.WorkDirectory, "Resources", "word-2-pages.pdf");

            using var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
            var request = new ValidateJobRequest {
                PrinterUri = PrinterUrl, Document = fileStream
            };
            var result = _protocol.Construct(request);

            CheckResult(result);
        }
예제 #3
0
        public void ValidateJobAsync_Full()
        {
            var file = Path.Combine(TestContext.CurrentContext.WorkDirectory, "Resources", "word-2-pages.pdf");

            using var fileStream = new FileStream(file, FileMode.Open, FileAccess.Read);
            var request = new ValidateJobRequest
            {
                PrinterUri         = PrinterUrl,
                Document           = fileStream,
                DocumentAttributes = new DocumentAttributes
                {
                    DocumentName            = "Document Name",
                    DocumentFormat          = "application/octet-stream",
                    DocumentNaturalLanguage = "en"
                },
                NewJobAttributes = new NewJobAttributes
                {
                    JobName = "Test Job",
                    IppAttributeFidelity = false,
                    // JobPriority = 50, //unsupported most of the time
                    // JobHoldUntil = JobHoldUntil.NoHold //unsupported most of the time
                    MultipleDocumentHandling = MultipleDocumentHandling.SeparateDocumentsCollatedCopies,
                    Copies               = 1,
                    Finishings           = Finishings.None,
                    PageRanges           = new[] { new Range(1, 2) },
                    Sides                = Sides.OneSided,
                    NumberUp             = 1,
                    OrientationRequested = Orientation.Portrait,
                    PrinterResolution    = new Resolution(600, 600, ResolutionUnit.DotsPerInch),
                    PrintQuality         = PrintQuality.Normal,
                    PrintScaling         = PrintScaling.Fit
                }
            };


            var result = _protocol.Construct(request);

            CheckResult(result);
        }
예제 #4
0
 /// <summary>
 ///     Validate-Job Operation
 ///     https://tools.ietf.org/html/rfc2911#section-3.2.3
 /// </summary>
 /// <param name="request"></param>
 /// <returns></returns>
 public async Task <ValidateJobResponse> ValidateJobAsync(ValidateJobRequest request)
 {
     return(await SendAsync(request.PrinterUri, () => _ippProtocol.Construct(request),
                            ippResponse => _ippProtocol.ConstructValidateJobResponse(ippResponse)));
 }