Импорт объявлений с сайта в Indesign cs4

  • Автор темы Автор темы FlintOFF
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.

FlintOFF

Участник
Топикстартер
Сообщения
52
Реакции
0
Добрый день.
Работаю я в небольшой газетке бесплатных объявлений.
Во время работы наши девочки поступившие объявления на "купонах дачи объявления" набирают в ворде (там бьют объявления по рубриках и по номерах).
Есть такая проблема: при копировании из ворда в индизайн не сохранется форматирование текста (цвет) плюс к тому у нас есть еще такое выделение объявления как "в рамочке", "на выворотке" тойсть то что физически ворд не может перенести в индезайн, потому приходится девочкам при верстке текущего номера второй раз просматривать объявления и делать нужное форматирование в индизайне.

У меня возникла идея вести все объявления на сайте в базе данных и переносить их в индизайн при помощи формата tagged text (знания PHP и MySQL имеются). но тут тоже ждал облом, формат tagged text не содержит возможность переноса рамочек и вложенных текстовых фреймов.

Может есть какойто другой формат который легко самому генерировать не задействовавши индизайн? Или Есть готовые скрипты под мой случай?
 
Ответ: Импорт объявлений с сайта в Indesign cs4

IDML
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Правильно настроенные стили в ворде и их маппинг при импорте в идизайн спасут отца русской демократии.
Рассказать девочкам про стили - 20 мин, пару раз наказать за неправильный набор - пару часов.
Отлаженный процесс - бесценен.

P.S. Рамочки бывают разные... тут прийдется либо параграф рулз применять, либо плагин ParagraphBorder
Если имеется в виду весь текстовый фрейм, а не его часть - объектные стили в помощь.

P.P.S. Еще есть SmartStyles - для особо ленивых
 
Ответ: Импорт объявлений с сайта в Indesign cs4

В качестве рамок я делал одноячейные таблицы (ну и стили для них). TagText поддерживает таблицы.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Спасибо за подсказку, за таблицу в качестве рамочки я не думал (я вставлял текстовый фрейм во фрейм обведенный рамкой).
Наверное буду всетаки использовать tagged text так как IDML не удалося в рекакторах прочитать
 
Ответ: Импорт объявлений с сайта в Indesign cs4

На этой странице дана ссылка на редактор, который может работать с IDML, распаковывая его формат на лету. Платный. Trial=30 дней.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Спасибо за ссылочку. Сам редактор я не качал но в хелпе на него нашел что он модет открывать zip файлы такие как IDML. Попробовал и я себе через 7zip и сразу увидел четкую структуру их XML файлов.

Пришел к выводу что для моей задумки IDML не подходит, так как мне не нужно генерировать весь документ, мне нужно передать в индизайн лишь часть форматированного текста при помощи скрипта, а для етого дела подходит tagget text.

Щас думаю как заставить срипт из индизайна заходить на сайт и забирать нужную инфу. Может кто подскажет как можно заставить скрипт работать через http или ftp, нужно просто забрать файл или контент.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

В первом сообщении вы писали "...возникла идея вести все объявления на сайте в базе данных". Почему именно сайт? Ведь можно просто в базе данных, без сайта, наверное было бы проще?
 
Ответ: Импорт объявлений с сайта в Indesign cs4

boriskasmoscow,
Во время работы наши девочки поступившие объявления на "купонах дачи объявления" набирают в ворде (там бьют объявления по рубриках и по номерах).
Главное слово ВОРД - проблема выеденного яйца не стоит. просто нужно маппить стили.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

В идеи размещении на сайте есть свои плюсы, во первых все объявления должны размещатся на сайте, а так как я ленивый и не хочу дальше делать работу мартышки, то девочки изначально забивают все объявления на сайт и объявления сами публикуются там.
Во вторых на сайте я не ограничен возможностями ява скрипта Индизайна.
И в третих, а сайте все будет легко и понятно, выбрал рубрику, ввел текст, ввел номер публикации и количество выходов, нажал ОК и забыл про ето, больше от девочек никаких действий не требуются.

А дальше стоит вопрос не как сгенерировать файл, а как файл забрать из сайта и поместить в индизайн. Тут у меня есть такая задумка, одна из девушек заходит на сайт в админ панель и нажимает "выдача объявлений" ей генерируется файл и спрашует ее куда сохранить, сохраняет его в текущий номер, и помещает файл в индизайн. Вот в принципе и все, вроде ничего сложного.

Но хотельсь бы что б девочка зашла в индизайн, выбрала нужный пустой текстовый фрейм, нажала на скрипт, в скрипте выбрала нужную категорию объявлений и ей автоматически скачало и поставило во фрейм. Как так можно сделать?
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Но хотельсь бы что б девочка зашла в индизайн, выбрала нужный пустой текстовый фрейм, нажала на скрипт, в скрипте выбрала нужную категорию объявлений и ей автоматически скачало и поставило во фрейм. Как так можно сделать?

Пишите приватом, если уже есть готовый сайт, то остальное будет не сложно сделать.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Прошу помощи.
Вчера дописал базу сайта. Стал вопрос об експорте из сайта в tagget text. Перепробовал много чего, ничего не получается в Индизайне всеравно открываются внутринности текстового файла.
Потом решил пойти по другому пути, взял внутринности tagget text файла который я експортнул из индизайна и все ето вставил в PHP файл обработчик с заданием строку из внутриннойстей записать в txt файл. После данный файл копирую и вставляю в Индизайн, но попрежнему вижу внутринности.

Експортировал по разному. В последнем случае експортировал из Индизайна в ACII а записовал файл через PHP скрипт в кодировке UTF-8.

Вот строка
PHP:
<ASCII-WIN>
<Version:5><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<DefineParaStyle:<0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.=<Nextstyle:<0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Bold Italic><cFont:Times New Roman>>
<DefineParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.=<BasedOn:<0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><Nextstyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cCase:All Caps>>
<ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0490>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0491>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0404>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0454>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0406>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0456>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0407>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal><0x0457>
<cTypeface:><cCase:><ParaStyle:<0x0437><0x0430><0x0433><0x043B>. <0x0436><0x0438><0x0440>. <0x043A><0x0443><0x0440><0x0441>.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:>
в конечном файле она также и выглядит.

Может кто подскажет в какой кодировке записуются файлы из Indesign, или модет есть символы перехода на новую строку или что то еще?
 
Ответ: Импорт объявлений с сайта в Indesign cs4

С ASCII-WIN у меня были проблемы, а вот с Юникодом - нет. Его рекомендую. И помещать в InDesign не через Copy/Paste, а нормальной командой Place.
 
Ответ: Импорт объявлений с сайта в Indesign cs4

С ASCII-WIN у меня были проблемы, а вот с Юникодом - нет. Его рекомендую. И помещать в InDesign не через Copy/Paste, а нормальной командой Place.

С юникодом разобрался маленько, научился его правильно открывать, оказуется кодировка файла в котором инизайн експортирует ето UTF-16LE, или максимально к ниму приблеженный.

Просто выходило что через блокнот я могу посмотреть, а сгенерировать такой же файл на линукс хостинге неудается именно из за несовпадения кодировки. Вот пример PHP скрипта генерации файла в tagget ext
PHP:
<?php
$str='<UNICODE-WIN>
<Version:5><FeatureSet:InDesign-Roman><ColorTable:=<Black:COLOR:CMYK:Process:0,0,0,1>>
<DefineParaStyle:жир. курс.=<Nextstyle:жир. курс.><cTypeface:Bold Italic><cFont:Times New Roman>>
<DefineParaStyle:загл. жир. курс.=<BasedOn:жир. курс.><Nextstyle:загл. жир. курс.><cCase:All Caps>>
<ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>Ґ
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>ґ
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>Є
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>є
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>І
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>і
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>Ї
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>ї
<cTypeface:><cCase:><ParaStyle:загл. жир. курс.><cTypeface:Regular><cCase:Normal>
<cTypeface:><cCase:>';

$str=iconv('UTF-8', 'UTF-16LE', $str);

$fp=fopen('UTF-16LE.txt','w');
fputs($fp,$str);
fclose($fp);
?>

Но опятже одно но, индизайн отказуется его принимать, пишет "не могу поместить файл. Не найден фильтр для вызываемой операции".
Открыл я етот сгенерированный линуксом файл через блокнот и увидел что вместо переноса на новую строку стоят "пустые кубики", заменил я их вручную на ентеры и заново поместил в индизыйн и УРА все получилося.

Теперь стоит задача каким макаром через PHP заменять ети символы. Вполне возможно что кодировка все таки не UTF-16LE ?

Кто может подсказать?
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Может быть заменять не через PHP, а в Windows в каком-нибудь продвинутом блокноте? (как вариант написать скрипт для Индизайна для предварительной обработки?)
 
Ответ: Импорт объявлений с сайта в Indesign cs4

там перевод строки \r наверно а надо \r\n - попробуйте поменять
 
Ответ: Импорт объявлений с сайта в Indesign cs4

Глаза слипаются, но как раз преодолел препятствие и руки чешутся писать скрипт експорта из БД.
Проблему с кодировками решил очень просто. Да действительно вся проблема в переносах. Я пользуюся ZendStudio 5.5 и если пишу переносы "\r\n" то они так и записуются в файле, а не как переход на новую строку.

Вобщем проблема в переносах и в кодировке, что бы все было правильно то нужно возложить на плечи Indesign функцию перекодировки, а в PHP нефиг с етим заводится.
Что у меня получилося:
1. набираю текст и сохраняю в базу
2. С базы експорчу в формате таггет текст
3. перед принятием в Indesign я перекодирую файл функцией
PHP:
aD=app.activeDocument;
var file_open=new File(aD.filePath+'/UTF-8.txt');
var file_save=new File(aD.filePath+'/unicode.txt');

file_open.open("r");
file_open.encoding = 'UTF-8';		

file_save.open("w");
file_save.encoding = 'UTF-16';

file_save.write(file_open.read());

file_open.close();
file_save.close();
4. вставляю текст в Indesign

Все иду спать со спокойной душой :)
 
Ответ: Импорт объявлений с сайта в Indesign cs4

если пишу переносы "\r\n" то они так и записуются в файле, а не как переход на новую строку.

так и должно быть... вам надо посмотреть в настройках редактора что в EOL ставится. исторически просто такая путаница сложилась что на виндах перевод строки \r\n, на маке \n а на юниксах \r (или наоборот, могу путать).

хорошо что так или иначе вопрос решен
 
Ответ: Импорт объявлений с сайта в Indesign cs4

так и должно быть... вам надо посмотреть в настройках редактора что в EOL ставится. исторически просто такая путаница сложилась что на виндах перевод строки \r\n, на маке \n а на юниксах \r (или наоборот, могу путать).

хорошо что так или иначе вопрос решен

Спасибо за подсказку.
Вот так я нашел себе проблему на ровном месте. В зенде переставил стиль окончания строки с "как есть" на "windows /r/n" и все заработало при перекодировке PHP в UNICODE
PHP:
$str=iconv('UTF-8', 'UNICODE', $str);

Надеюся больше никто не наступит на ети грабли по незнанию, зато я смог обойти проблему и ето очень меня радует.
 
Статус
Закрыто для дальнейших ответов.