Jump to content
  • 0

Печать жепегов


fiver
 Share

Question

Привет всем!

На повестке дня вопрос по печати жепегов, которые создаются с помощью библиотеки GDlib.

Собственно создается жепег, с размерами 1240 на 1754 пикс., что соответствует 21 см на 29,7 см при качестве 150 точек на дюйм.

Как я уже говорил, жепег создается с помощью GDlib и выводится в выходной поток браузера


header("Content-type: " .image_type_to_mime_type(IMAGETYPE_JPEG));
imagejpeg($img, NULL, 100);

Все картинка выводится, качество безупречное, остается ее только напечатать.

И вот тут начинаются проблемы.

Самые большие в самом модном и разрекламированном браузере гугли хромом.

Он вообще не знает такого понятия печать во всю страницу.

Он думает , что печатать надо в верхнем левом углу, примерно на 70% страницы.

В эксплоере лучше всего, но он упорно пытается сделать по правому краю листа, белую полоске в 1-2 мм.

Для примеру при посылке на печать из фотошопа, он сразу жепегом заполняет весь лист.

По логике так и должно быть, ведь размер жепега до миллиметра совпадает с размером листа A4

Может кто сталкивался с такой байдой.

Вопрос в том, как распечатать картинку A4 из браузера на лист А4 без всяких там полей и артефактов.

Может нужны какие скрипты, может еще чего.

Буду благодарен за любые мысли и идеи.

Link to comment
Share on other sites

11 answers to this question

Recommended Posts

  • 0

а разве это не в настройках самой печати?

В том то и дело, что браузер каким то макаром влияет на картинку, или параметры печати.

Из хрома, ctrl+p и даже более того ctrl+shift+p, обращение на прямую к принтеру, а все равно картинка в углу.

Чудеса просто.

Link to comment
Share on other sites

  • 0

попробуйте сначала увеличить картинку в браузере (навести на картинку и нажать на нее, она должна раскрыться в свое полное разрешение), а затем пытаться вывести на печать

таким образом данный код

<?php
$image=imagecreate(1240,1674);
imagecolorallocate($image,0,0,0);
header('Content-Type: image/png;');
imagepng($image);
?>

позволяет заполнить весь лист A4 черным цветом.

Не забудьте поставить Margins: None

Link to comment
Share on other sites

  • 0

Вопрос в том, как распечатать картинку A4 из браузера на лист А4 без всяких там полей и артефактов.

Буду благодарен за любые мысли и идеи.

Это свойство принтера, некоторые просто не умеют печатать без полей

Link to comment
Share on other sites

  • 0

Вопрос в том, как распечатать картинку A4 из браузера на лист А4 без всяких там полей и артефактов.

Буду благодарен за любые мысли и идеи.

Это свойство принтера, некоторые просто не умеют печатать без полей

у Google Chrome есть предосмотр печати, от принтера он не зависит, к слову, принтера у меня вообще нет, а баг такой же, как описал автор топика

Link to comment
Share on other sites

  • 0

у Google Chrome есть предосмотр печати, от принтера он не зависит, к слову, принтера у меня вообще нет, а баг такой же, как описал автор топика

Значит по мимо этого есть ещё дефолтные стили с маржинами и падингами , ну и для печати хорошоб размеры в сантиметрах задавать, а не в пикселях

Link to comment
Share on other sites

  • 0

Вопрос в том, как распечатать картинку A4 из браузера на лист А4 без всяких там полей и артефактов.

Буду благодарен за любые мысли и идеи.

Это свойство принтера, некоторые просто не умеют печатать без полей

дело не в принтере. Он печатает без полей.

Туже картинку из IE9 хавает за милую душу.

Дело именно в гугл хром.

у Google Chrome есть предосмотр печати, от принтера он не зависит, к слову, принтера у меня вообще нет, а баг такой же, как описал автор топика

Значит по мимо этого есть ещё дефолтные стили с маржинами и падингами , ну и для печати хорошоб размеры в сантиметрах задавать, а не в пикселях

Есть жепег. Если он лежит на винте то его размер справедливо в свойствах можно просмотреть и в пикселях и в мм. И он верен.

Потом создается библиотекой изображение на основе этого самого жепега - $img = imagecreatefromjpeg('img/1.jpg');

Здесь не задаются параметры не в пикселях, не в см.

В итоге выводится картинка, с размером в пикселях. Но видимо с dpi 96. По крайней мере при сохранении на винт, все тоже самое, но разрешение меняется с 150 на 96.

Можно как то указать dpi при создании изображения?

Link to comment
Share on other sites

  • 0

где задавать? изображение отдается как Content-Type: image/png;

это не html страница с картинкой

Потом создается библиотекой изображение на основе этого самого жепега - $img = imagecreatefromjpeg('img/1.jpg');

Здесь не задаются параметры не в пикселях, не в см.

Сделайте вывод через страницу, формируйте изначально html c форматированием для печати(размеры в сантиметрах), dpi вы никак не подгоните у принтеров они разные и зависят от режима печати, на странице вы никогда заранее не узнаете.

Link to comment
Share on other sites

  • 0

где задавать? изображение отдается как Content-Type: image/png;

это не html страница с картинкой

Потом создается библиотекой изображение на основе этого самого жепега - $img = imagecreatefromjpeg('img/1.jpg');

Здесь не задаются параметры не в пикселях, не в см.

Сделайте вывод через страницу, формируйте изначально html c форматированием для печати(размеры в сантиметрах), dpi вы никак не подгоните у принтеров они разные и зависят от режима печати, на странице вы никогда заранее не узнаете.

Пример есть html c форматированием для печати и с размерами в сантиметрах?

У меня появилась мысль, создавать пдф докумен и втыкать туда картинку.

При создании пдф документа можно задать и размер и разрешение.

Но все уперлось в пдф библиотеку. И для локалки не могу найти, и у хостера не стоит.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy