Печать широкоформатного изображения в формате SVG со встроенным PNG / JPG - PullRequest
1 голос
/ 26 февраля 2020

Я изо всех сил пытаюсь найти способ печати широкого изображения SVG. Это обычная проблема, поэтому позвольте мне объяснить мою конкретную проблему c.

Изображение широко, и поэтому мне нужно разбить его (постер) на 5 или 6 листов формата А4 (фактическое количество не важно) , Моя первая проблема заключается в том, что диалоговое окно «Печать» по умолчанию в моих браузерах Firefox или Chrome под Windows не позволяет мне масштабировать высоту изображения в соответствии с высотой страницы, а также распределяет ширину изображения по нескольким страницам.

Кто-то еще предложил использовать Inkscape для преобразования в формат PDF, поскольку в диалоговом окне «Печать» в Acrobat Reader улучшена поддержка листов. Да, это так, но Inkscape не работает со встроенными изображениями (например, PNG или JPG). Что еще хуже, он генерирует огромные квадратные маркеры ошибок, говорящие «Связанное изображение не найдено». Они также сохраняются в сгенерированном PDF, что делает его бесполезным.

Существует множество онлайн-инструментов, которые утверждают, что могут конвертировать SVG в PDF. Я попробовал несколько, и никто не справился со встроенными изображениями. Они были просто отброшены.

Итак, я в основном ищу любой путь для печати широкого изображения SVG на горизонтальной серии страниц, и это сохраняет любые внедренные изображения PNG / JPG.

[Редактировать] Некоторые онлайн результаты:
zamzar - отброшенные изображения
cloudconvert - просто используется inkscape
convertio - лучший из множества, но непрозрачность игнорируется на изображениях
online-convert.com - отброшенные изображения
pdfresizer - просто используется inkscape
freefileconvert - просто используется inkscape
onlineconvertfree - ошибка с basi c SVG
pdfaid - массовая ошибка с basi c SVG

[Редактировать 2] Вот несколько строк кода, которые показывают одну из встроенных ссылок PNG на основе целых rnet. Этот разработан, чтобы обеспечить слабое фоновое изображение под последующими формами SVG. Отсюда непрозрачность 12%.

<defs>
    <pattern id="img2" width="50%" height="100%" >
        <image xlink:href="https://clipartart.com/images/tree-branch-clipart-png-4.png" x="0" y="0" width="50%" height="100%" />
    </pattern>
</defs>


<rect width="100%" height="100%" fill="url(#img2)" fill-opacity="0.12" />

1 Ответ

0 голосов
/ 28 февраля 2020

У меня было время поэкспериментировать с этим (и поэтому тратить впустую бумагу для принтера из-за загрузки сарая).

1) Inkscape намеренно не поддерживает ссылки на изображения Inte rnet (например, http) для "причины безопасности". Как уже упоминалось, он отображает маркер ужасной ошибки в представлении загруженного SVG, и я не нашел способа отредактировать его. Следовательно, он сохраняется в любой версии PDF.

2) Если я загружаю локальные копии изображений и меняю их ссылки http: // на эквивалентный файл: /// (да, 3 слеша), то они принято.

3) Это позволяет сохранить копию в формате PDF, но если какое-либо из изображений имело непрозрачность (например, фоновое изображение), то оно теряется и становится полностью непрозрачным в PDF. Это может быть проблема с конверсией или ограничение PDF - я не знаю.

4) Поскольку у меня есть локальные копии изображений, их можно изменить, чтобы реализовать любую слабость, необходимую "у источника".

5) В диалоговом окне «Печать Acrobat» имеется опция «Плакат» для листов страниц широкого изображения. Убедившись, что никакие «метки выреза» или «метки» не добавлены, вы можете установить «Масштаб плитки», который сохраняет высоту в пределах одной страницы, и он будет распространяться на столько страниц, сколько необходимо для ширины. На основе масштабирования он выбирает сам пейзаж / портрет и игнорирует любой свой выбор.

Итак, проблемы? Да, настройка Acrobat 'Overlap' является загадкой, оставляя тонкое белое поле на одном или обоих смежных листах в выходных данных. Я не смог соотнести ширину этого поля или внешний вид на одном или обоих листах с этим параметром.

С помощью кнопки «Установки» я могу перейти к обычному диалоговому окну настроек принтера, где я могу запрос «Печать без полей». Вместо того, чтобы исправить проблему, это только делает корреляции еще более загадочными.

...