Как экспортировать файл Inkscape SVG в PDF и сохранить целостность изображения?

41

Возникли проблемы с получением Inkscape для чистого экспорта PDF-файлов, и, похоже, не так много полезных ресурсов. В частности, прозрачные пленки трудны - иногда прозрачность исчезает, а иногда она превращается в сплошной блок.

Я поиграл с настройками сохранения в PDF в Inkscape и безуспешно печатал в PDF с использованием CutePDF. Есть ли какой-нибудь метод экспорта или создания файла, чтобы я мог получить предсказуемые результаты?

Zelbinian
источник
Будем надеяться, что @ DA01 будет здесь. Он глубоко знаком с Inkscape.
Алан Гилбертсон
Я бы не сказал глубоко ... но я фанат этого. Я не знаю ответа, но я предполагаю, что SVG и PDF - это просто разные форматы файлов и поддерживают разные части каждой спецификации. С SVG вы можете многое сделать с точки зрения прозрачности, размытия, смешивания и т. Д., И я предполагаю, что PDF просто пока не поддерживает это. Возможно, вам придется сначала запустить SVG через Adobe Illustrator в надежде, что AI преобразует его в формат, которым PDF будет доволен.
DA01
Inkscape прошел несколько обновлений с тех пор, как был задан этот вопрос. Мне было бы любопытно узнать, где эта ситуация стоит сейчас, и есть ли какие-то специфические части конвертации SVG в PDF, которые все еще проблематичны.
Scribblemacher

Ответы:

21

Inkscape (v.0.91) поддерживает параметры командной строки , и именно поэтому я предпочитаю это делать:

inkscape --file=mySVGinputFile.svg --export-area-drawing --without-gui --export-pdf=output.pdf

На самом деле это команда, которую LyX использует для подготовки изображений SVG для использования в LaTeX. Я использовал PlantUML для генерации SVG, которая затем переходит в PDF.

Вот скриншот SVG в inkscape, который имеет чисто векторное представление (включая шрифты).

SVG в Inkscape

Вот скриншот PDF-файла, увеличенный, с выделением текста «oo» из цикла слов, показывающий, что он все еще текст в PDF:

PDF в Acrobat

Fuhrmanator
источник
1
Это сработало хорошо. К вашему сведению, инструмент командной строки Mac OS находится по адресу: /Applications/Inkscape.app/Contents/Resources/bin/inkscape- вставьте ваш --file=/My/File.svgи т. Д. После этого.
Демис
Я тестировал его с помощью специального шрифта base64, но Inkscape (0.92), по-видимому, не поддерживает его.
xamid
8

На самом деле это было задано и ответил здесь для пользователей Linux.

Вам необходимо установить librsvg2-bin. Я просто добавлю, что вам нужно будет подогнать страницу под svg, иначе она будет обрезана. Внутри Inkscape: Файл -> Свойства документа -> Выберите объекты SVG -> Подогнать страницу под выбор.

Тогда просто запустите:

rsvg-convert -f pdf in.svg > out.pdf
Emilien
источник
Это, безусловно, лучший ответ: только один, который работал!
Вернер
Этот инструмент даже не сохраняет правильный размер шрифта, не говоря уже о правильном шрифте.
xamid
6

В главном меню выберите:

Файл → Печать ... → Печать в файл

Здесь вы можете сохранить файл в формате PDF, PostScript или SVG.

Оливер Моран
источник
5

Вы пытаетесь экспортировать в .PDF, чтобы сохранить возможности редактирования? В противном случае, если вы пытаетесь поделиться изображением с кем-то из Inkscape, сохраните его как .JPG или .PNG (если необходим полупрозрачный фон).

kamalo
источник
1
Раньше попытки сохранения в формате PNG / jpeg значительно уменьшали физический размер и разрешение изображения. Возможно я просто делаю это неправильно?
Зельбиниан
У вас установлена ​​последняя версия Inkscape?
Камало
@ Zelbinian, SVG не имеет собственного размера или разрешения. Только когда вы хотите экспортировать как PNG, Inkscape запросит размер. Укажите, чтобы оно было настолько большим, насколько вы хотите.
Абхранил Дас
7
Изменение векторного изображения на растровое изображение определенно не будет поддерживать (другие аспекты) целостность изображения.
Sparhawk
3

В операционной системе Linux я экспортирую в PNG, а затем использую инструмент преобразования для преобразования его в PDF.

user14047
источник
2
+1 Это не плохой ответ ... и, на самом деле, это метод, который я использовал, чтобы обойти недостатки Inkscape в маскировании фигур (которые «взрываются» при конвертации непосредственно в PDF). Для сложных SVG, которые Inkscape не может полностью превратить в PDF, растеризация иногда является жизнеспособным обходным решением.
DA01
3

Мне нравится использовать Inkscape для рисования - он намного более интуитивен, чем Illustrator, и дает очень профессиональные результаты.

Однако я использовал Inkscape для подготовки рисунков к публикации, и у меня были значительные трудности с экспортом рисунков с настройками качества публикации. Сохранение файлов в формате .eps неправильно встраивало мои шрифты, а .pdf не позволяло мне сохранять качество печати. (Я использую Windows XP и Inkscape версии 0.48.4.)

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

Эти пошаговые инструкции показывают, как печатать в формате PDF со встроенным текстом и настраивать качество печати.

У меня были трудности с печатью в PDF для некоторых из моих больших фигур (только случайные части моей фигуры оказались бы в PDF, что очень расстраивало!). Чтобы обойти эту проблему, я сгруппировал все аспекты фигуры Inkscape и сократил общий размер. По какой-то причине это сработало очень хорошо, и я получил красивые PDF-файлы для этих фигур.

Другой вариант - разрезать фигуру пополам (если это возможно) и распечатать два файла PDF. Их можно объединить в Adobe Acrobat Professional (более старые версии доступны для загрузки по этой ссылке .

Нажмите «Создать PDF», выберите «Из нескольких файлов» и выберите PDF-файлы, которые вы хотите объединить. Они будут отображаться как отдельные страницы в документе PDF. Чтобы объединить их на одной странице, перейдите в File --> Print раздел « Page HandlingМенять» Page Scalingна Multiple pages per sheet.

Затем вы можете настроить, сколько страниц вы хотите на листе. Нажмите OK, и ваши 2 PDF-файла теперь будут объединены в одну страницу.

Я надеюсь, что эта информация поможет тем из вас, кто предъявляет строгие требования к качеству публикаций.

Габриэль Тодд
источник
1

Я использую Inkscape и регулярно сохраняю SVG в PDF. Держитесь подальше от фильтров и непрозрачных настроек в виде PDF-файлов (или, скажем так, экспорт InkScapes в PDF) не очень хорошо справляется с этой функцией.

Вместо этого я использую цветовые шкалы вместо непрозрачных уровней, чтобы смягчить цвета непосредственно на палитре и вообще избежать фильтров. Я знаю, что это громоздко и ограничивает ваши возможности в том, что вы можете сделать. Но экспорт выглядит хорошо, если я следую этим правилам.

user5907761
источник
0

Прошли годы с тех пор, как у меня возникли проблемы с прозрачностью PDF-файлов, созданных Inkscape, и, если бы у меня были проблемы, они оказались проблемой средства просмотра PDF (или в одном случае - эзотерического принтера), а не Inkscape. Таким образом, я бы сказал, что использование новой версии Inkscape должно исправить такие проблемы.

Тем не менее, начиная с Inkscape 0.47 (с 2009 года), существует опция Rasterise Filter Effects для экспорта в PDF, которая должна растеризовать все те фильтры (например, размытие), которые не поддерживаются в формате PDF, и сохранить все остальное векторизованным.

Wrzlprmft
источник
0

Это очень просто. Сохраните ваш файл / выбор в формате PDF.

Захир Ахмед
источник
1
Какая версия? Это изменилось? Смотрите ответ пользователя 14047 и комментарий DA01 ...
Mensch
Этот ответ не касается вопроса. Проблема пользователя не в том, что он не знает, как экспортировать PDF из Inkscape, а в том, что результаты не являются удовлетворительными.
Scribblemacher
0
  1. Распечатать
  2. Выберите Bitmap на вкладке Rendering и выберите желаемое разрешение.
  3. Выберите свой принтер PDF на вкладке Общие .
  4. Распечатать.

вкладка рендеринга

точечный рисунок и печать

interndog
источник
0

Если у вас установлен FoxIt Reader, то вы можете просто

  1. Файл -> Печать ( Ctrl+ P)
  2. Выберите «FoxIt Reader PDF Printer» для экспорта файла в формате PDF.
fzappaandthem
источник
0

Если вы конвертируете его для совместного использования, экспортируйте его как png. На вкладке файлов есть отдельная опция для экспорта в виде png. Это избавит вас от многих неприятностей.

user131581
источник
3
Можете ли вы рассказать, какие неприятности это спасет и почему?
WELZ
0

Если вы уже установили размер страницы в свойствах документа (убедитесь, что ваши элементы помещаются на странице)> перейдите к предварительному просмотру. Здесь вы можете сохранить его в формате PDF, а также распечатать в нужном размере без потери разрешения.

Safiyyah
источник
0

У меня тоже была эта проблема, и ни один из существующих ответов не помог мне. Я нашел свое решение здесь: https://bugs.launchpad.net/inkscape/+bug/1004887

Добавить фильтр для каждого изображения, а затем сохранить в формате PDF. Обязательно установите флажок «Растеризовать эффекты фильтра». Я имел дело с изображениями в оттенках серого, поэтому я применил фильтр в оттенках серого, чтобы изображения не были видоизменены.

user30521
источник
0

У меня возникли проблемы с сохранением в формате 0.92.4 при сохранении в формате pdf "* .pdf файл не может быть сохранен" просто оставьте поле "ограничение экспорта с идентификатором" empty (facepalm) введите описание ссылки здесь

игорь
источник
1
Ссылка на ваше изображение не работает, и ваш ответ не очень ясен ... кроме того, это очень старый вопрос, вы уверены, что добавляете полезную информацию? Отметьте « Как ответить», а затем отредактируйте свой ответ, чтобы добавить дополнительные сведения / исправить ссылку на испорченное изображение.
Лучано
-1

Попробуйте использовать инструмент Snipping, который поставляется с Windows 7. Если он еще не закреплен на панели задач, его можно найти в разделе «Все программы», «Стандартные». Похоже на ножницы. Это сохранит его в формате JPEG, затем откройте JPEG и распечатайте с симпатичным PDF.

kohnesorge
источник
Это, вероятно, не решение, которое ищет Зельбиниан; экспорт в PDF подразумевает, что векторные объекты сохраняются. Как указывалось в другом ответе, вы все равно можете просто экспортировать файл в формате JPG, в этом случае создание снимка экрана будет
плохим
-1

Я сохранил свой документ (включая градиентный слой поверх изображения и изображение с прозрачностью) в виде файла JessyInk в формате PDF. Установите DPI и сохраните. В Zip-файле вы найдете PDF-файл, как и предполагалось.

Mollo
источник
-1

Я был раздражен этим вопросом в течение долгого времени. Начиная с 2019 года, лучший подход, который я смог найти, это сделать промежуточный постскриптумный шаг. Используя Makeсинтаксис:

rsvg-convert -f ps $^ | gs -sDEVICE=pdfwrite -sOutputFile=$@ -f -

где $^ - исходный файл и $@целевой файл.

Он выводит PDF 1.7 по умолчанию с ghostscript 9.27. Это решает все проблемы, которые я нахожу с pdfмеханизмом сохранения inkscape (альфа-версия 1.0) .

heroxbd
источник