Печать файла NSTableView в PDF? [Дубликат]

Я обновил менеджер пакетов Nuget и исправил его для меня.

0
задан Joshua 19 February 2010 в 16:00
поделиться

2 ответа

Да, это работает точно так же, как задокументировано. В представлении предлагается его представление в формате PDF (которое для немодифицированного представления таблицы является именно тем, что вы видите на экране), затем это печатается.

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

Может быть проще всего создать представление HTML таблицы, а затем напечатать это. Вы можете использовать WebKit или просто простой NSAttributedString и внеэкранный NSTextView. Трюк заключается в том, чтобы сгенерировать HTML-код, создать атрибутную строку с данными HTML (для этого есть метод), а затем передать это в текстовое представление вне экрана. Текстовое представление будет иметь размер по желанию, тогда вы просто скажете его для печати. Это дает вам контроль над разбиением на страницы, так как WebKit в настоящее время не поддерживает части CSS, относящиеся к печати (другими словами, это только «экран»).

3
ответ дан Joshua Nozzi 20 August 2018 в 09:44
поделиться
  • 1
    Интересный подход, как бы я сгенерировал HTML, а затем какой метод я использовал бы для создания атрибутной строки с данными HTML? Приветствия. – Joshua 19 February 2010 в 19:09
  • 2
    Как создать HTML? Вы перебираете свой набор данных и генерируете соответствующий HTML-код. Что касается создания атрибутивной строки, соответствующие методы HTML находятся в дополнениях AppKit для NSAttributed String: bit.ly/aHZdZ6 – Joshua Nozzi 19 February 2010 в 19:53
  • 3
    Как этот метод дает вам контроль над разбиением на страницы? У меня очень хорошая печать HTML-страниц, но я хочу напечатать несколько HTML-страниц подряд, но каждая страница HTML должна начинаться с новой страницы. Когда я добавил их все к той же NSMutableString, а затем загрузил это в веб-представление, все, что у меня было, было одной страницей сразу после другой. Я хотел, чтобы каждая страница была отдельной. Просто загрузите HTML в NSTextView и распечатайте, как это сделать? – Tap Forms 3 February 2013 в 09:48
  • 4
    Сам HTML не поддерживает разбиение на страницы. CSS-стандарт допускает разрывы страниц, но в последний раз, когда я проверял (в прошлом году), WebKit еще не поддерживает разбиение на страницы CSS. Итак, короткий ответ: Это не так. – Joshua Nozzi 3 February 2013 в 15:37

То, что я сделал, - это взять данные и нарисовать их на объект, основанный на NSView, таким образом, который конечный пользователь хотел бы распечатать. Затем пользователь печатает это. это в документах.

Мне нравится идея Джошуа Ноцци, возможно, намного проще, чем пользовательский рисунок ...

1
ответ дан Lyndsey Ferguson 20 August 2018 в 09:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: