![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как распечатать файлы RTF
Tcount © (2012-11-18 23:24:00)Очень нужно распечатывать файлы RTF из под делфи. Установил компонент RichView, в его состав входит TRVPrint.
Вот не знаю, как настроить TRVPrint, чтобы распечатать документ, находящийся в RichView.
Может кто-то уже сталкивался с этим?
Или можно какой-нибудь другой вариант...
Tcount (2012-11-21 17:32:00) [1]
>
> Установи PDFCreator, и не надо будет никуда бегать, и бумагу
> сэкономишь.
Спасибо, так и сделаю)
Amoeba_ (2012-11-21 17:26:00) [2]
> пришлось побегать для проверки к соседу, у которого есть
> принтер
Установи PDFCreator, и не надо будет никуда бегать, и бумагу сэкономишь.
Tcount (2012-11-21 17:12:00) [3]Разобрался, хотя пришлось побегать для проверки к соседу, у которого есть принтер))) Компонент TRVPrint легко печатает все, что находится в RichView (талицы, текст, рисунки):
TRVPrint1.AssignDocParameters(RichView1.DocParameters);
try
TRVPrint1.AssignSource(RichView1);
TRVPrint1.FormatPages(rvdoALL);
TRVPrint1.Print('',1,false);
except
showmessage('Какая-то хрень!');
end;
---------
Крадет параметры отступов, настроенных в свойствах DocParameters RichView1 ,и затем печатает 1 копию содержимого RichView1.
Ну это просто пример, конечно, там много настроек разных)
sniknik (2012-11-20 08:08:00) [4]> с нормальной поддержкой таблиц и рисунков.
все позволяет, и довольно нормально. проблема не в этом, а в том, что в ворде позволяет больше, а многие не хотят понимать (это вообще очень удобно...), что что есть разница. и вот в этом мелкософт им потворствует.
Германн (2012-11-20 02:01:00) [5]
> sniknik © (20.11.12 01:48) [12]
>
> > А сейчас как?
> а что поменялось? есть вести о расширении формата?
Уже стало понятнее. Т.е. RichEdit от мелкомягких всё таки (и до сих пор) не обладает возможностью создавать документ RTF с нормальной поддержкой таблиц и рисунков. Или же всё-таки сам формат RTF не доработан до нормальной поддержки таблиц и рисунков?
sniknik (2012-11-20 01:48:00) [6]> А сейчас как?
а что поменялось? есть вести о расширении формата? или doc приравняли к rtf? нет? ну вот и ответ...
Германн (2012-11-20 01:45:00) [7]
> но кстати, тоже оффтопик, с отображением таблиц в rtf были
> проблемы...
То что они были я знаю (потому и спросил). А сейчас как?
Если сам не знаешь, не парься с проверкой. Когда (и если) меня клюнет жареный петух, тогда сам буду искать ответ.
sniknik (2012-11-19 22:46:00) [8]> с точки зрения поддержки, должно быть одинаково.
а если подумать... то что получается с юридической точки зрения? в случае установлености ворда работает хорошо, при отсутствии ... тоже на букву х, но не хорошо.
и это называется не "заставляем"? ИМХО, заставляем, завуалированно но тем не менее. притом прога клиент серверная, шаблон делают(могут) в одном месте печатают в другом/куче мест. и получится что официальные документы почему то имеют разный вид... не вся (не у всех) бухгалтерия на это пойдет.
p.s. но вообще все это бессмысленно. у меня есть официальный запрет, и он не изменится, чтобы вы тут не решили по теме - "как нужно правильно".
sniknik (2012-11-19 22:28:00) [9]> не для полного копипаста, а в качестве примера
не считай себя самым умным, здесь все евреи...
sniknik (2012-11-19 22:27:00) [10]> То почему бы не сделать так:
> ...
> // не получилось в ворде, значит печатаем методом "кривой печати"
здесь играем здесь не играем, а здесь рыбу заворачивали... нет уж, с точки зрения поддержки, должно быть одинаково.
не мои правила, но тут я их поддерживаю (а есть такие, что нет).
кроме того "так" не пойдет, пред просмотр должен быть (тоже 2 варианта?). и сохранение готового документа. и... ну слава Гейтцу что не нужно сформированный документ после в той же проге на другой машине открывать. но если чисто теоретически ... ???
> WordPad-ом попробовал бы.
e WordPad-а абсолютно те же "проблемы"... фактически он это и есть ReachEdit версии 3.0 (в 7й дельфе 2.0, но я пробовал и новый, "проблемы" те же. ... наверняка там что-то поменялось, но формат до ворда точно не расширили)
Ega23 (2012-11-19 14:30:00) [11]ТОлько я бы всё-таки не Word-ом, а WordPad-ом попробовал бы.
Очень Злой (2012-11-19 14:29:00) [12]функцию я криво написал, но это так, не для полного копипаста, а в качестве примера
Очень Злой (2012-11-19 14:24:00) [13]Если приходится выбирать между "кривой печатью" и Вордом, который имеется у подавляющего большинства, но тем не менее не у всех, так как
> ну например у меня четкий запрет на это... из-за "наездов"
> клиентов типа если он нам/программе требуется, значит мы
> их вынуждаем его покупать. установка и использование вьювера
> данную проблему не решают... некоторые просто "отказываются
> понимать"(тупят, причем зачастую нарочно) что он <> ворду
> и бесплатен.
То почему бы не сделать так:
Что-то типа:
function PrintRTFFileUsingWord(filename:string):boolean;
var
word:variant;
begin
CoInitialize(nil);
try
Word:=CreateOleObject('Word.Application');
Word.Documents.Open (filename,true, false, false,'', '', false,'', '', wdOpenFormatRTF);
Word.ActiveDocument.PrintOut;
Word.ActiveDocument.Close;
pz:=1;
while pz>0 do
begin
sleep(50);
pz:=word.Application.BackgroundPrintingStatus;
end;
Word.Quit;
Result:=true;
except
Result:=false;
end;
CoUnInitialize;
end;
а потом:
if not PrintRTFFileUsingWord(myfile) then
begin
// не получилось в ворде, значит печатаем методом "кривой печати"
end;
и никого ничего не заставляем покупать...
sniknik (2012-11-19 08:15:00) [14]> А если нужны таблицы?
какая разница? если отображает значит и печатать будет. но кстати, тоже оффтопик, с отображением таблиц в rtf были проблемы... народ их делает в ворде, удобнее понимаю, но то что там сделано не всегда также/и вообще отображается в rtf. все таки он более ограничен чем doc. а ворд в последнее время(?) начал при "сохранить как в rtf" просто расширение менять... открываешь в программе-компоненте и... все не то. частые жалобы на это.
> А почему бы не использовать Word?
ну например у меня четкий запрет на это... из-за "наездов" клиентов типа если он нам/программе требуется, значит мы их вынуждаем его покупать. установка и использование вьювера данную проблему не решают... некоторые просто "отказываются понимать"(тупят, причем зачастую нарочно) что он <> ворду и бесплатен.
Очень злой (2012-11-19 01:22:00) [15]А почему бы не использовать Word?
Германн (2012-11-19 01:22:00) [16]
> sniknik © (19.11.12 00:57) [1]
> стандартный ReachEdit. если не нужны картинки
А если нужны таблицы?
Вопрос почти оффтопный (на будущее).
sniknik (2012-11-19 00:57:00) [17]> Вот не знаю, как настроить TRVPrint
там есть демо в исходниках... а вообще зависит от версии дельфи, способа использования компонента, принтера. печатает всегда, но есть способ при соблюдении некоторых условий сделать кривую печать -
http://www.delphimaster.ru/cgi-bin/forum.pl?id=1266331114&n=0
> Или можно какой-нибудь другой вариант...
стандартный ReachEdit. если не нужны картинки... или если версия дельфы уже позволяет с ними.