Hello Linh PHAM,
When clients perform client-side rendering the print server typically receives a fully rendered PDL stream and does not automatically receive a separate PrintTicket, so PrintTicket availability depends on how the client includes job metadata during submission Microsoft Learn. If the client includes an XPS/PrintTicket package in the job payload the server can extract the PrintTicket from the incoming job stream, otherwise the server will only see the final PDL and standard GDI/DEVMODE fields which may not reflect all user-selected options Microsoft Learn.
For solutions that require server-side awareness of user choices, implement a client-side step that submits or embeds the PrintTicket alongside the job, or configure the client/driver to submit the PrintTicket as part of the job metadata when possible Microsoft Learn. If you control the client environment, prefer driver models or deployment options that support PrintTicket round‑trips (XPS-based workflows) so server components can parse the PrintTicket and enforce policies or logging Microsoft Learn. On the server you can inspect incoming jobs for embedded XPS packages and parse the PrintTicket XML to read duplex, paper size, color mode, and other settings; the Microsoft Print Ticket documentation shows how Render Modules and drivers should handle PrintTicket processing Microsoft Learn. DEVMODE alone is not reliable for all modern features because many PrintTicket-backed options do not map one-to-one into legacy DEVMODE fields, which explains the discrepancies you observed. If embedding PrintTicket at job submission is not possible in your environment, consider a lightweight client agent that captures the user’s print preferences and transmits them to the server as separate metadata prior to or with the job.
If this answer helps, please hit Accept Answer so others can find the solution easily :)
Best regards,
VP