g = Graphics[{Rectangle[{0, 0}, {19, 28}], Orange, Rectangle[{0, 0}, {1, 1}]}]
Хорошо, первое, что вам нужно сделать, это установить направления x
и y
для использования одинаковых единиц, что означает
Show[g, AspectRatio -> Automatic]
Но это уже значение по умолчанию.
Второе, что вам нужно сделать, это выбрать размер и диапазон для вашего участка.Давайте сделаем 21 на 30 с вашими прямоугольниками по центру:
plotArea = {{0, 21}, {0, 30}} - {1, 1}
Show[g, AspectRatio -> Automatic, PlotRange -> plotArea]
Третье, что вам нужно сделать, это отключить добавление любых отступов / полей, которые увеличивают фактический размер вашей фигуры по сравнению с диапазоном графика:
final = Show[g, AspectRatio -> Automatic, PlotRange -> plotArea, PlotRangePadding -> 0, ImagePadding -> 0]
Я полагаю, что ImageMargins
не имеет значения, но если это так, установите также значение 0.
Последнее, что вам нужно сделать, это экспортировать это в формат для печатиэто сохраняет размеры изображения, и установите размер изображения так, чтобы 1 см был 1 единицей на вашем графике.Mathematica принимает размеры изображений в точках принтера, поэтому давайте определим:
cm = 72/2.54
Export["final.pdf", Show[final, ImageSize -> 21 cm]]
Мы хотим, чтобы график был шириной 21 см, потому что его ширина составляет 21 единицу.Используйте PDF как формат экспорта, а не TIFF.ImageSize
необходимо использовать внутри Show
, чтобы обойти некоторые проблемы с Export
...
Теперь откройте PDF в Adobe Reader, откройте диалоговое окно печати и убедитесь, что масштабирование страницыНет!Я не знаю, как это сделать в других читателях ... Также убедитесь, что ваша фигура соответствует размеру бумаги (21 на 30 см слишком велика для A4 ...)
Я не собираюсь делатьтестовый отпечаток, поэтому дайте мне знать, если это работает для вас :-) Размер PDF, сгенерированного таким образом, составляет точно 21 на 30 см, поэтому, если что-то пойдет не так, это должно произойти на этапе печати.