Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 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
4-1265984812
Linker
2010-02-12 17:26
2013.07.14
Как поймать переход Windows в ждущий/спящий режим ?


15-1361608048
oldman
2013-02-23 12:27
2013.07.14
Кстати, с праздником, мужики!


15-1362075484
Pit
2013-02-28 22:18
2013.07.14
Ряд вопросов по ноуту Asus S400c / Win 8


15-1362055175
O'ShinW
2013-02-28 16:39
2013.07.14
Как кодировку определить?


1-1310799635
lesstab
2011-07-16 11:00
2013.07.14
ActionList-ы на соседных фреймах.