Текущий архив: 2013.07.14;
Скачать: CL | DM;
Вниз
Как распечатать файлы RTF Найти похожие ветки
← →
Tcount © (2012-11-18 23:24) [0]Очень нужно распечатывать файлы RTF из под делфи. Установил компонент RichView, в его состав входит TRVPrint.
Вот не знаю, как настроить TRVPrint, чтобы распечатать документ, находящийся в RichView.
Может кто-то уже сталкивался с этим?
Или можно какой-нибудь другой вариант...
← →
sniknik © (2012-11-19 00:57) [1]> Вот не знаю, как настроить TRVPrint
там есть демо в исходниках... а вообще зависит от версии дельфи, способа использования компонента, принтера. печатает всегда, но есть способ при соблюдении некоторых условий сделать кривую печать -
http://delphimaster.net/view/1-1266331114/
> Или можно какой-нибудь другой вариант...
стандартный ReachEdit. если не нужны картинки... или если версия дельфы уже позволяет с ними.
← →
Германн © (2012-11-19 01:22) [2]
> sniknik © (19.11.12 00:57) [1]
> стандартный ReachEdit. если не нужны картинки
А если нужны таблицы?
Вопрос почти оффтопный (на будущее).
← →
Очень злой (2012-11-19 01:22) [3]А почему бы не использовать Word?
← →
sniknik © (2012-11-19 08:15) [4]> А если нужны таблицы?
какая разница? если отображает значит и печатать будет. но кстати, тоже оффтопик, с отображением таблиц в rtf были проблемы... народ их делает в ворде, удобнее понимаю, но то что там сделано не всегда также/и вообще отображается в rtf. все таки он более ограничен чем doc. а ворд в последнее время(?) начал при "сохранить как в rtf" просто расширение менять... открываешь в программе-компоненте и... все не то. частые жалобы на это.
> А почему бы не использовать Word?
ну например у меня четкий запрет на это... из-за "наездов" клиентов типа если он нам/программе требуется, значит мы их вынуждаем его покупать. установка и использование вьювера данную проблему не решают... некоторые просто "отказываются понимать"(тупят, причем зачастую нарочно) что он <> ворду и бесплатен.
← →
Очень Злой (2012-11-19 14:24) [5]Если приходится выбирать между "кривой печатью" и Вордом, который имеется у подавляющего большинства, но тем не менее не у всех, так как
> ну например у меня четкий запрет на это... из-за "наездов"
> клиентов типа если он нам/программе требуется, значит мы
> их вынуждаем его покупать. установка и использование вьювера
> данную проблему не решают... некоторые просто "отказываются
> понимать"(тупят, причем зачастую нарочно) что он <> ворду
> и бесплатен.
То почему бы не сделать так:
Что-то типа: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;
и никого ничего не заставляем покупать...
← →
Очень Злой (2012-11-19 14:29) [6]функцию я криво написал, но это так, не для полного копипаста, а в качестве примера
← →
Ega23 © (2012-11-19 14:30) [7]ТОлько я бы всё-таки не Word-ом, а WordPad-ом попробовал бы.
← →
sniknik © (2012-11-19 22:27) [8]> То почему бы не сделать так:
> ...
> // не получилось в ворде, значит печатаем методом "кривой печати"
здесь играем здесь не играем, а здесь рыбу заворачивали... нет уж, с точки зрения поддержки, должно быть одинаково.
не мои правила, но тут я их поддерживаю (а есть такие, что нет).
кроме того "так" не пойдет, пред просмотр должен быть (тоже 2 варианта?). и сохранение готового документа. и... ну слава Гейтцу что не нужно сформированный документ после в той же проге на другой машине открывать. но если чисто теоретически ... ???
> WordPad-ом попробовал бы.
e WordPad-а абсолютно те же "проблемы"... фактически он это и есть ReachEdit версии 3.0 (в 7й дельфе 2.0, но я пробовал и новый, "проблемы" те же. ... наверняка там что-то поменялось, но формат до ворда точно не расширили)
← →
sniknik © (2012-11-19 22:28) [9]> не для полного копипаста, а в качестве примера
не считай себя самым умным, здесь все евреи...
← →
sniknik © (2012-11-19 22:46) [10]> с точки зрения поддержки, должно быть одинаково.
а если подумать... то что получается с юридической точки зрения? в случае установлености ворда работает хорошо, при отсутствии ... тоже на букву х, но не хорошо.
и это называется не "заставляем"? ИМХО, заставляем, завуалированно но тем не менее. притом прога клиент серверная, шаблон делают(могут) в одном месте печатают в другом/куче мест. и получится что официальные документы почему то имеют разный вид... не вся (не у всех) бухгалтерия на это пойдет.
p.s. но вообще все это бессмысленно. у меня есть официальный запрет, и он не изменится, чтобы вы тут не решили по теме - "как нужно правильно".
← →
Германн © (2012-11-20 01:45) [11]
> но кстати, тоже оффтопик, с отображением таблиц в rtf были
> проблемы...
То что они были я знаю (потому и спросил). А сейчас как?
Если сам не знаешь, не парься с проверкой. Когда (и если) меня клюнет жареный петух, тогда сам буду искать ответ.
← →
sniknik © (2012-11-20 01:48) [12]> А сейчас как?
а что поменялось? есть вести о расширении формата? или doc приравняли к rtf? нет? ну вот и ответ...
← →
Германн © (2012-11-20 02:01) [13]
> sniknik © (20.11.12 01:48) [12]
>
> > А сейчас как?
> а что поменялось? есть вести о расширении формата?
Уже стало понятнее. Т.е. RichEdit от мелкомягких всё таки (и до сих пор) не обладает возможностью создавать документ RTF с нормальной поддержкой таблиц и рисунков. Или же всё-таки сам формат RTF не доработан до нормальной поддержки таблиц и рисунков?
← →
sniknik © (2012-11-20 08:08) [14]> с нормальной поддержкой таблиц и рисунков.
все позволяет, и довольно нормально. проблема не в этом, а в том, что в ворде позволяет больше, а многие не хотят понимать (это вообще очень удобно...), что что есть разница. и вот в этом мелкософт им потворствует.
← →
Tcount © (2012-11-21 17:12) [15]Разобрался, хотя пришлось побегать для проверки к соседу, у которого есть принтер))) Компонент TRVPrint легко печатает все, что находится в RichView (талицы, текст, рисунки):
TRVPrint1.AssignDocParameters(RichView1.DocParameters);
try
TRVPrint1.AssignSource(RichView1);
TRVPrint1.FormatPages(rvdoALL);
TRVPrint1.Print("",1,false);
except
showmessage("Какая-то хрень!");
end;
---------
Крадет параметры отступов, настроенных в свойствах DocParameters RichView1 ,и затем печатает 1 копию содержимого RichView1.
Ну это просто пример, конечно, там много настроек разных)
← →
Amoeba_ (2012-11-21 17:26) [16]
> пришлось побегать для проверки к соседу, у которого есть
> принтер
Установи PDFCreator, и не надо будет никуда бегать, и бумагу сэкономишь.
← →
Tcount © (2012-11-21 17:32) [17]
>
> Установи PDFCreator, и не надо будет никуда бегать, и бумагу
> сэкономишь.
Спасибо, так и сделаю)
Страницы: 1 вся ветка
Текущий архив: 2013.07.14;
Скачать: CL | DM;
Память: 0.51 MB
Время: 0.008 c