Repository navigation
PDFCLOUD-6579 Add color conversion rendering intent - #65
Draft
datalogics-tsmith wants to merge 3 commits into
Draft
datalogics-tsmith wants to merge 3 commits into
datalogics-tsmith wants to merge 3 commits into
Conversation
- Expose the documented rendering-intent choices as a public type. - Send an explicitly selected intent through sync and async clients while preserving the existing omitted-parameter behavior. Assisted-by: Codex
- Verify every documented intent through payload, sync, and async paths. - Add live success and rejection coverage for the server contract. Assisted-by: Codex
- Add a standalone sRGB conversion example using perceptual rendering. - Link the rendering-intent contract from the API guide and inventory. Assisted-by: Codex
datalogics-tsmith
temporarily deployed
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Inactive
datalogics-tsmith
temporarily deployed
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Inactive
datalogics-tsmith
temporarily deployed
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Inactive
datalogics-tsmith
temporarily deployed
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Inactive
datalogics-tsmith
temporarily deployed
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Inactive
datalogics-tsmith
had a problem deploying
to
ci-live
November 12, 2026 16:05 — with
GitHub Actions
Failure
This branch had an error being deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
PDFCLOUD-6579
Why this change
The color-conversion service supports rendering-intent selection, but the Python client did not expose that option. Callers therefore could not choose how out-of-gamut colors are mapped when converting a PDF to a preset or uploaded ICC profile.
What changed (high level)
The synchronous and asynchronous
convert_colorshelpers now accept a typedPdfRenderingIntent. The public literal documents every value in the Cloud OpenAPI contract, and the payload model owns validation and wire serialization. Omitting the argument leaves it out of the request so pdfRest continues to use the profile-defined intent.Unit and live suites cover all documented values through both transports, exact request serialization, customization, local invalid-value rejection, and server-side rejection. The API guide and a standalone example make the new workflow discoverable.
Behavior changes
Callers can select
profile,perceptual,relative_colorimetric,saturation, orabsolute_colorimetricwhen converting PDF colors. Unsupported values fail locally with a Pydantic validation error before transport execution. Existing calls that omitrendering_intentretain their previous request shape and behavior.This change is additive and does not introduce a breaking API change.
Validation
uv run pre-commit run --all-filesuv run ruff check .uv run basedpyrightuv run mkdocs build --strictThe API-backed live rendering-intent tests and runnable example could not be executed locally because
PDFREST_API_KEYwas unavailable. The main-repository draft PR is expected to run those checks in CI.Risks and follow-ups
This draft is stacked directly on #64. The stack must merge in order: #60, #61, #62, #63, and #64 should all merge before this pull request. Once those prerequisites land, GitHub can retarget this pull request to
mainautomatically or the base can be updated manually if needed.The main compatibility risk is accidentally sending a default intent where older callers omitted the field; unit coverage explicitly verifies omission remains unchanged. No migration is required.