![]() |
Надо скрипт написать. Но это просто так - не объяснить. Программирование - оно как катание на велосипеде. Раз научился - помнишь всю жизнь. Объяснить дистанционно - тяжело.
В Кореле есть VBA и есть Корел Скрипт Эдитор (он до 9 версии включительно...) |
2ss.
Делаешь на листе 10 карточек. Внутри каждой карточки есть этот твой объект-баркод. С точки зрения Корела у каждого такого объекта-баркода есть свой номер, который можно посмотреть в Инструменты/Управление данными, там в первой строке. 10 карточек - 10 номеров. переписываешь их все руками на листик, и вбиваешь в массив. dim IDS& (10) IDS (1) = 1316 IDS (2) = 1342 IDS (3) = 1359 IDS (4) = 1374 IDS (5) = 1390 IDS (6) = 1405 IDS (7) = 1421 IDS (8) = 1436 IDS (9) = 1452 IDS (10) = 1467 Потом делаешь цикл - перебрать все элементы с номерами, которые ты только что записал (это внутренний цикл), и внешний цикл перебирает страницу за стрницей... В примере - с 89 стрницы до 103... for i = 89 to 103 for j = 1 to 10 .SelectObjectOfCDRStaticID IDS(j) if (i-1)*10 + j < 10 then AddOn$ = "000" elseif (i-1)*10 + j < 100 then AddOn$ = "00" else AddOn$ = "0" endif .SetArtisticText AddOn$ + str((i-1)*10 + j) next j .FilePrint next i |
KarSlon
Спасибо за информацию Я первый раз сталкиваюсь с баркодами, я по порядку опишу свои действия. На 1 листе 10 дисконток, нужно 100 дисконток, номера баркодов с 01001 по 01100. Ставлю вручную на 1 лист 10 баркодов с 01001 01010, я не знаю какой нужно ставить стандарт - поставил первый CodaBar. Далее захожу (Корел Х3) Инструменты/Объект управления данными/там 4 строки Name Cost Comments Поле0 Все пустые >С точки зрения Корела у каждого такого объекта-баркода есть свой номер, который можно посмотреть в Инструменты/Управление данными, там в первой строке. Строки все пустые. Может я не там смотрю? |
У тебя задача точно как у меня. На листе 10 карточек. Внутри каждой карточки один баркод/номер/что-то переменное, какой-то один объект.
Если ты выделишь этот объект мышкой и полезешь в Инструменты / Объект управления данными, то там будет CDRStaticID это номер, адресуясь к которому, можно выделить любой объект в твоём кореловском документе. Отсюда вытанцовывается такая схема работы - ты циклом перебираешь твои 10 объектов-баркодов, которые находятся на листе, перебираешь ты их оператором .SelectObjectOfCDRStaticID номер объекта и когда у тебя объект выделяется, ты его можешь изменить. Когда ты изменил все 10 объектов на странице, ты гонишь страницу на печать. После ты опять в цикле перебираешь свои баркоды, но уже начиная с другого номера, не с 1, а с 11. Соответственно получается ещё один внешний цикл. Обрати внимание - вот эта штука .SetArtisticText AddOn$ + str((i-1)*10 + j) как раз и меняет твой баркод на нужный. При этом надо, чтобы твой баркод был объектом "Фигурный текст". Фрагмент, который я привёл, перебирает номера последовательно - это номерные дисконтные карты для штанов. То есть у меня идут номера 0001, 0002, 0003.... 0999 и т.д. Кусок, обрабатывающий leading chars, то есть форматирующий так, чтобы было не 0, 1, а 0000, 0001, 0002 и пр. - там есть. Как будет выглядеть артистический текст "0001" в шрифте баркод, и как он будет читаться сканером- я не знаю. |
а что мешает использовать штрихкодовый шрифт? там каждый символ рисуется как комбинация штрихов. есть разные шрифты, для разных систем кодировок.
в кореле в принт мердж создаешь текстовые поля и назначаешь этим полям соответствующий шрифт. жаль, EAN так нельзя делать - другой принцип. |
KarSlon
Спасибо за инфу |
Цитата:
Зашел на Яндекс, там столько разных стандартов, кодировок и пр., что я не знаю что и выбрать. Если не трудно, скиньте на е-мейл polygr(собака)ua.fm Заранее благодарен |
спроси клиентов, чем они считывать этот штрих-код будут.
многие ридеры подключаются в разрыв клавиатуры и в момент считываня просто эмулируют нажатие цифровых клавиш. и исходя из того, что умеет читать их ридер, выбери сам систему кодирования, а шрифтов в инете полно, только определись, что именно надо. |
часто пользуюсь Корелом 11 (в предыдущих версиях PrintMerge глючит, иногда :)
а еще есть такая прога Seagull Bartender. http://www.seagullscientific.com/aspx/welcome.aspx к примеру, позволяет расставлять на лист сколько угодно карточек с индивидуальными номерами или штрихкодами. Данные принимает в разных форматах от тектового до баз данных, dbf, Access, FoxPro и т.д. Так же знает множество стандартов штрихкодов. К примеру печатаю билетики для музыкального автомата: мне присылают файл с кодами в Access, программа подгружает его и подставляет на каждый билетик в EAN-128. главное подобрать размер объекта в макете, т.к. штрихкод 128 меняет длину. |
Цитата:
|
Текущее время: 07:13. Часовой пояс GMT +4. |
Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd. Перевод: zCarot