Перейти к главному содержимому

Преобразовать svg в pdf

Преобразовать SVG в PDF

Преобразовать svg файл в pdf можно при помощи программы rsvg-convert.

Для установки её в Debian:

apt install librsvg2-bin

Для Windows всё немного сложнее, понадобится MSYS. В его терминале выполнить:

pacman -S mingw-w64-ucrt-x86_64-librsvg

Обрезать PDF

Вариант 1. pdfcropmargins

Установить можно через pip3:

pip3 install pdfCropMargins --upgrade --only-binary pymupdf

Вариант 2. pdfcrop

Для обрезки pdf-файлов можно использовать pdfcrop из состава TeXLive. Под Windows надо установить TeXLive, для Debian можно только часть (но зависимостей будет много):

apt install texlive-extra-utils

Скрипт для преобразования всех SVG файлов в каталоге

При использовании pdfcropmargins:

#!/bin/sh

rm -f *.pdf
for v in *.svg
do
  if [ -f "$v" ]; then
    FNAME="${v%.*}"
    rsvg-convert -f pdf -o "$FNAME.pdf" "$v"
    pdfcropmargins -p 0 -p4 0 0 0 0 -A "$FNAME.pdf"
  fi
done

При использовании pdfcrop:

#!/bin/sh

rm -f *.pdf
for v in *.svg
do
  if [ -f "$v" ]; then
    FNAME="${v%.*}"
    rsvg-convert -f pdf -o "$FNAME.pdf" "$v"
    pdfcrop "$FNAME.pdf"
  fi
done

Windows

bat-файл для Windows для преобразования одного файла:

@echo off

:: FNAME=имя файла без расширения
set FNAME=%~n1
set RSVG_PATH=C:\msys2\ucrt64\bin

%RSVG_PATH%\rsvg-convert.exe -f pdf -o %FNAME%.pdf %FNAME%.svg

pdfcropmargins -p 0 -p4 0 0 0 0 -A %FNAME%.pdf