Уведомления

Группа в Telegram: @pythonsu

#1 Ноя. 14, 2007 15:48:54

proDiva
От:
Зарегистрирован: 2007-02-15
Сообщения: 244
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

Вот пример вывода сплошного текста с выбором текстового файла:

# -*- coding: cp1251 -*-

import os
import string
import wx
from wx.lib import printout as pr

wildcard = “Text files (*.txt)|*.txt|” \
“All files (*.*)|*.*”


if __name__ == ‘__main__’:
app = wx.PySimpleApp()
dlgf = wx.FileDialog(None, message=“Выберите файл:”, defaultDir='',
defaultFile=“”, wildcard=wildcard, style=wx.OPEN | wx.MULTIPLE | wx.CHANGE_DIR
)
dlgf.Show(True)
if dlgf.ShowModal() == wx.ID_OK:
# Окно диалога возвращает список файлов
paths = dlgf.GetPaths()
for path in paths:
text = open(path).readlines()

ptbl = pr.PrintTable()
ptbl.SetHeader(str(path))
ptbl.data = (text) # в скобках список строк
#ptbl.label = ('One','Two','Three','Four','5') # если разремарить ptbl.label, на печать выйдет таблица
ptbl.Preview()
app.MainLoop()



Офлайн

#2 Ноя. 15, 2007 03:01:16

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

По третьему примеру, получается таблица. А если нужен просто текст? Пробовал печатать объявления, нужно было много и все разные, при этом в таблице как бы получался один столбец. Все вроде нормально, но ширина текства на листе получалась 2/3 листа А4. текст как бы “заворачивался” раньше чем нужно. Чем это вылечить я так и не сообразил. Может подскажете? Да, и не понятно как менять размер шрифта. Пробовал присваивать значения переменной объекта, - не помогло, а нужный метод я не нашел.



Офлайн

#3 Ноя. 15, 2007 07:31:40

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

если нужно печатать просто текст (*.txt) да ещё и с настройками шрифтов,то можно его и в html превратить. :)



Офлайн

#4 Ноя. 15, 2007 10:35:47

VicMir
От:
Зарегистрирован: 2007-11-15
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

Кто-нибудь использует PythonReports? Как задать переменную data в дизайнере шаблонов, ее значение?



Офлайн

#5 Ноя. 15, 2007 11:48:57

proDiva
От:
Зарегистрирован: 2007-02-15
Сообщения: 244
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

pythonwin
если нужно печатать просто текст (*.txt) да ещё и с настройками шрифтов,то можно его и в html превратить.
Я так пробовала, все отлично, но…………. кириллица выходит иероглифами, сколько бы я ни проставляла в заголовок html-файла кодировку.
vak
Да, и не понятно как менять размер шрифта.
настройки размеров страницы и шрифта имеются……. нужно просто поискать синтаксис, сейчас поищу.



Офлайн

#6 Ноя. 15, 2007 15:02:13

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

VicMir
Кто-нибудь использует PythonReports? Как задать переменную data в дизайнере шаблонов, ее значение?
Можно кратко что такое PythonReports ? Насколько функционален? Сейчас выбираю на чем делать печать документов и боюсь ошибиться. Пока склоняюсь к использованию Reportlab.



Офлайн

#7 Ноя. 15, 2007 16:38:02

shiza
От:
Зарегистрирован: 2007-07-03
Сообщения: 1073
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

Мне проще всего в свое время оказалось генерить html и делать ему предпросмотр и печать. =)



Офлайн

#8 Ноя. 16, 2007 06:40:22

pythonwin
От:
Зарегистрирован: 2006-07-18
Сообщения: 1294
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

vak
склоняюсь к использованию Reportlab.
на нем хорошо делать не изменяемые отчеты

proDiva
Я так пробовала, все отлично, но…………. кириллица выходит иероглифами, сколько бы я ни проставляла в заголовок html-файла кодировку.
а кодировка в meta-тегах совпадала с кодировкой текста который вставляешь в документ?



Офлайн

#9 Ноя. 16, 2007 07:27:11

VicMir
От:
Зарегистрирован: 2007-11-15
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

OlDer
Я использую http://reportman.sourceforge.net/
Для python есть модуль тут: http://tech.groups.yahoo.com/group/reportman/files/ но нужно быть участником этой группы и залогиниться. Попытался прикрепить этот файл здесь - не получилось…

Еще люди используют reportlab или http://pythonreports.sourceforge.net/
Пробовал Report Manager на Linux. Есть проблемы. Не поддерживает UTF-8 (системная локаль). Русские шрифты не отображаются, хоть и установил соотв. шрифт. Еще существует проблема с выводом на принтер: печатает символы вразброс вместо документа. В pdf выводит правильно (если настроить шрифты).
На Windows никаких проблем нет.



Офлайн

#10 Ноя. 16, 2007 08:15:33

vak
От:
Зарегистрирован: 2007-05-04
Сообщения: 262
Репутация: +  0  -
Профиль   Отправить e-mail  

wxPython & Печать документов

Еще такой вопрос… С помощью Reportlab создаем отчеты в виде файлов pdf, а как отображать органично результаты в wxPython? Приложение то должно работать как единое целое. Чем отображать отчеты? Посмотрел документацию по wxPython - есть wxDocument - это поможет? Подскажите кто в курсе.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version