Я предполагаю, что вы хотите, чтобы это происходило программно, а не как ручной процесс.
Способ 1: Установите драйвер PDF, например Amyuni или PrimoPDF . Распечатайте ваш FlowDocument с желаемым размером PrintTicket / page в драйвере принтера. PDF, который вы получаете от него, должен быть довольно хорошим преобразованием. Некоторые из этих драйверов (например, Amyuni) имеют SDK, которыми вы можете управлять этим процессом программно.
Метод 2: Программная печать в XPS с использованием драйвера XPS без диалогового окна «Сохранить как»; в Windows DDK есть пример, который вы можете создать самостоятельно. Затем используйте конвертер XPS в PDF, например NiXPS или Adobe SDK (так дорого, я не буду публиковать ссылки) или GhostXPS , чтобы конвертировать XPS напрямую в PDF.
Метод 3: Преобразование потокового документа непосредственно в XPS с использованием таких методов, как Этот , а затем с помощью преобразователя XPS в PDF, таких как упомянутые выше.
Отказ от ответственности: я не работаю ни на одну из этих компаний или их конкурентов. Я использовал Adobe SDK, принтер Amyuni и различные хитрости XPS с довольно хорошим успехом. Ни один метод не преобразует с 100% точностью.