Многостраничный PDF в одно изображение с GhostScriptSharp

Я использую GhostScriptSharp для создания изображений из документов PDF. Это работает для отдельных страниц, но мне нужно получить одно изображение из всего документа.

Вот мой код:

GhostscriptWrapper.GenerateOutput(sourcePdfFilePath, destinationPngFilePath,
    new GhostscriptSettings
    {
        Device = GhostscriptDevices.pngalpha,
        Page = new GhostscriptPages
        {
            AllPages = true
        },
        Resolution = new Size
        {
            Height = 72,
            Width = 72
        },
        Size = new GhostscriptPageSize
        {
            Native = GhostscriptPageSizes.a4
        }
    }
);

2 ответа

После ответа выше были обновления

Если кому-то нужны самые простые средства для xyZ-Up (это x страниц в ширину, а затем y страниц в высоту, то есть поперек и вниз), теперь это легко сделать с помощью Ghostscript, начиная с версии 9.54.

Типичная команда для преобразования pdf в pdf может быть

      gs -dNEWPDF -sDEVICE=pdfwrite -o 4perPage.pdf -sNupControl=2x2 -sDEFAULTPAPERSIZE=a4 -dFitPage -f in.pdf

Таким образом, для этого приложения это будет вывод средства записи изображений.

      gs -sDEVICE=png16m -o 3perPage.png -sNupControl=3x1 -g900x800  -r120 -f in.pdf

И вам нужно будет настроить размеры масштаба и т. д. для собственного использования https://www.ghostscript.com/doc/current/Use.htm

Вам нужно сделать "верстку" или "n-up". В качестве стандартного условия для этого не предусмотрено, вы можете это сделать, но вам нужно немного программировать на PostScript, и так как ввод - это PDF, то это будет сложнее. Возможно, вам лучше использовать инструмент, предназначенный для наложения PDF.

Кстати, как вы планируете получить одно изображение из (например) 1000 страниц документа? Если это кажется чрезвычайным, я видел PDF-файлы с более чем 64 тыс. Страниц в них....

Другие вопросы по тегам