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)); }
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); }
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); }
/// <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))); }