Почему при распечатке или сохранении в формате PDF из таблицы Excel происходит искажение ("растягивание" по горизонтали) таблиц, фигур и рисунков? Слева Excel, справа PDF.
Почему при распечатке или сохранении в формате PDF из таблицы Excel происходит искажение ("растягивание" по горизонтали) таблиц, фигур и рисунков? Слева Excel, справа PDF.
Да, всё одинаково. Нормального решения не нашёл. Был там вариант копировать как картинку в векторе, но это тоже никак не помогло. Решил проблему следующим образом: измерил практически коэффициент искажения по ширине (тупо линейкой), перевёл в проценты и при необходимости теперь перед печатью изменяю ширину ячеек на поправку в единицах. Единственное требование - не менять ни ширину, ни высоту, что не всегда легко.
Да, всё одинаково. Нормального решения не нашёл. Был там вариант копировать как картинку в векторе, но это тоже никак не помогло. Решил проблему следующим образом: измерил практически коэффициент искажения по ширине (тупо линейкой), перевёл в проценты и при необходимости теперь перед печатью изменяю ширину ячеек на поправку в единицах. Единственное требование - не менять ни ширину, ни высоту, что не всегда легко.Dion
Я не привязывал, и пробовал просто сверху новую картинку лепить - ничего. Раньше у меня уже возникала такая проблема - когда нужно было вставить печать организации, но там я просто сузил PNG-шную картинку, чтобы на печать она растягивалась и получалось примерно 4х4 см. Этого хватало. Такой глюк у меня и в XP, и в win7, и в win8; офисы 2007 и 2013.
Я не привязывал, и пробовал просто сверху новую картинку лепить - ничего. Раньше у меня уже возникала такая проблема - когда нужно было вставить печать организации, но там я просто сузил PNG-шную картинку, чтобы на печать она растягивалась и получалось примерно 4х4 см. Этого хватало. Такой глюк у меня и в XP, и в win7, и в win8; офисы 2007 и 2013.Dion
Сообщение отредактировал Dion - Среда, 09.03.2016, 22:53
Нашел похожее решение. Это особенность эксель. Добавьте модуль в редакторе VBA и вставьте в него код
[vba]
Код
Sub CorrShapes() Dim s As Shape For Each s In ActiveSheet.Shapes s.LockAspectRatio = msoFalse s.Width = s.Width / 1.07 s.Height = s.Height / 0.97 Next End Sub
[/vba]
Можно заранее код выполнить для искажения картинок. Но зато при печати должно все хорошо быть. Либо вручную (коэффициенты искажения в коде нужно поправить на свои - могут отличаться, попробовать замерять на сколько искажается, либо просто попробуйте макрос выполнить и на просмотр).
Нашел похожее решение. Это особенность эксель. Добавьте модуль в редакторе VBA и вставьте в него код
[vba]
Код
Sub CorrShapes() Dim s As Shape For Each s In ActiveSheet.Shapes s.LockAspectRatio = msoFalse s.Width = s.Width / 1.07 s.Height = s.Height / 0.97 Next End Sub
[/vba]
Можно заранее код выполнить для искажения картинок. Но зато при печати должно все хорошо быть. Либо вручную (коэффициенты искажения в коде нужно поправить на свои - могут отличаться, попробовать замерять на сколько искажается, либо просто попробуйте макрос выполнить и на просмотр).w00t
Сообщение отредактировал w00t - Четверг, 10.03.2016, 14:02