Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Вниз

Delphi, Word и MSPVIEW.EXE   Найти похожие ветки 

 
john_mag ©   (2005-11-16 12:06) [0]

Доброго времени суток, мастера! Ситуация у меня сложилась не простая...Стоит следующая задача:нужно из doc файла взять две страницы и поместить их на одной в новом документе. После штудирования COM технологий родилась только единственная мысль - отправить эти две страницы на печать в файл через MS Dicument Image, сохраняя в формате PRN. Далее в MS Dicument Image PRN конвертировать в jpg или tiff и вставить в Word как рисунок!Это назыается хождение в магазин напротив через соседнюю деревню. Вопрос в следующем: можно ли и как из Delphi запустить MS Dicument Image он же MSPVIEW.EXE в фоновом режиме, дабы скрыть процесс от глаз юзера и этой прогой конвертировать PRN  в JPG? Любые бесплатные советы будут полезны!


 
pohil   (2005-11-17 23:04) [1]

Ну если все же остановился на своем варианте:

>> хождение в магазин напротив через соседнюю деревню

Тогда просто ShowWindow юзай.


 
john_mag ©   (2005-11-24 08:27) [2]

> pohil   (17.11.05 23:04) [1]
если ты что-нибудь посоветуешь я буду очень рад 8-)))


 
umbra ©   (2005-11-24 10:54) [3]

а не проще ли создать новый документ, сделать в нем шрифт поменьше, скопировать из первого две страницы и вставить во второй?


 
john_mag ©   (2005-11-24 11:01) [4]

> umbra ©   (24.11.05 10:54) [3]

а не проще ли создать новый документ, сделать в нем шрифт поменьше, скопировать из первого две страницы и вставить во второй?

Дело в том, что никто не знает как скопировать две страницы.... Если у тебя есть что-то... то тебе поставят памятник! 8-))


 
Ботвин Дмитрий   (2005-11-24 11:29) [5]

john_mag ©   (16.11.05 12:06)

Самый простой способ сделать через OLE. И как сказал уменьшить размер
шрифта и/или межстрочное расстояние перенести тескт с двух страниц на одну. Как работать с вордом через оле примеров полно, например на
www.delphiword.narod.ru


 
john_mag ©   (2005-11-24 12:09) [6]

>Ботвин Дмитрий   (24.11.05 11:29) [5]
Самый простой способ сделать через OLE

Согласен! Примеров работы с OLE много... Я и работаю через макросы! Дело то не в этом! Объясните мне дураку(на примере желательно) как полностью скопировать нужную страницу с коллонтитулами, с номером страницы и.... Ну ни где нету ничего подобного!
ps: www.delphiword.narod.ru - сейчас от сайта толку никакого, тк он пустой.


 
Попов Виталий   (2005-11-24 12:25) [7]

В Ворде есть возможность подогнать текст до нужного количества страниц, т.е. сначала нужно создать новый документ, скопировать в него эти две страницы а потом подогнать до одной. По поводу скопировать, то надо подумать, наверняка такая возможность существует, может копировать не постранично, а "пофрагментно"?


 
john_mag ©   (2005-11-24 12:33) [8]

Был печальный опыт... Надежда была на BookMarks : ставил две закладки одна на n странице, а вторая на n+1 странице и копировал то, что между ними. результат - скопирован только текст и ничего более... номер страницы и колонтитул за бортом.


 
Ботвин Дмитрий   (2005-11-24 13:05) [9]

john_mag ©   (24.11.05 12:09) [6]

> как полностью скопировать нужную страницу с коллонтитулами, с номером страницы и....

Через оле есть возможность доступа к колонтитулам, а вот про номер страницы я чё-то не понял? Какой в нем в твоем случае смысл если всё разместиться на одной странице? :-)))


 
john_mag ©   (2005-11-24 13:45) [10]

>Ботвин Дмитрий   (24.11.05 13:05) [9]
а вот про номер страницы я чё-то не понял? Какой в нем в твоем случае смысл если всё разместиться на одной странице? :-)))

написал один препод умную методичку и отдал её в РИО в тираж. Они печатают на формате А4. То-бишь две страницы на одной и перегибают пополам. Препод отдает файл такой: 1 страница, 2 страница и тд. а если печатать 2 страницы на одной, то нам уже нужны 1 и 100, 2 и 99, 3 и 98 страницы и тд. Далее препод отдает студентам методичку и говорит: откройте на странице № 55 , а где эта сраница? Вот в чем смысл номеров страниц!


 
umbra ©   (2005-11-24 13:53) [11]

колонтитулы старого документа, если они есть, надо присвоить новому (например, Documents(1).Sections(1).Footers(wdHeaderFooterPrimary) - это нижний колонтитул). Затем, надо выделить все в документе (Selection.WholeStory) и проверить номер страницы в конце выделения (Selection.Information(wdActiveEndPageNumber)). Затем уменьшать выделение кусками (Selection.End := Selection.End - 25) и проверять номер страницы. Так определяем конец второй страницы и копируем выделение, которое затем вставляем в новый документ и подгоняем под одну страницу.


 
umbra ©   (2005-11-24 13:54) [12]

колонтитулы старого документа, если они есть, надо присвоить новому (например, Documents(1).Sections(1).Footers(wdHeaderFooterPrimary) - это нижний колонтитул). Затем, надо выделить все в документе (Selection.WholeStory) и проверить номер страницы в конце выделения (Selection.Information(wdActiveEndPageNumber)). Затем уменьшать выделение кусками (Selection.End := Selection.End - 25) и проверять номер страницы. Так определяем конец второй страницы и копируем выделение, которое затем вставляем в новый документ и подгоняем под одну страницу.


 
ANB ©   (2005-11-24 15:38) [13]


> john_mag ©   (24.11.05 13:45) [10]

Намного проще поставить принтер с двухсторонней печатью. Он умеет делать брошюры. Просто сгибаешь пополам - и книжка готова.



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2006.02.05;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
4-1132644725
Pank83
2005-11-22 10:32
2006.02.05
Отследить запуск процесса


4-1132828786
Jmen
2005-11-24 13:39
2006.02.05
WinSocket, наложенное событие ввода/вывода, код 997


9-1124621937
McSource
2005-08-21 14:58
2006.02.05
Движение по кривой


1-1136496471
tamroF
2006-01-06 00:27
2006.02.05
Чтобы не было никаких ошибок на английском. Чтоб все по-русски..


2-1137504939
mctarik
2006-01-17 16:35
2006.02.05
Трансляция тарабарского языка*





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский