Вопрос Как картинки в виде архива или доступа где-то скачать TecDoc?

Janine

Постоялец
Регистрация
17 Дек 2007
Сообщения
370
Реакции
101
А картинки реально в виде архива или доступа где-то найти?
 
Подскажите, пожалуйста, откуда )
 
Подскажите, пожалуйста, откуда )

С программы ТекДок :)

А серьезно - картинки предоставляют вместе с базой. У меня, Маккенона и еще некоторых картинки на своих серверах. А есть тут барыги, которые продают наши картинки. Вот если купить у таких, потом могут появится резиновые чле*ы вместо запчастей. Потому - смотрите здесь кто реально в теме :)
 
Я скачивал какой-то архив, разбитый на много частей гигов на 80 с картинками, но это было давно. А мне надо сейчас )

Кто реально в теме я вижу ) И достижения тех, кто в теме, видел.
 
Я скачивал какой-то архив, разбитый на много частей гигов на 80 с картинками, но это было давно. А мне надо сейчас )

Кто реально в теме я вижу ) И достижения тех, кто в теме, видел.
берете текдок - устанавливаете. Далее поднимаете вебсервер у себя, далее запускаете скрипт,
Скрытое содержимое для пользователя(ей): Janine

конектите с текдоком. Наличие коннекта к мускулу обязательно, так же как и ODBC коннектор. Запускаете - далее ждете - все зависит от мощности Вашего компа. У меня это занимает 5-6 часов. Далее полученные файлы в формате JP2 конвертируете в JPG любой программой конвертором. После этого я бы еще рекомендовал простись программой сжатия. Загружатете их на Ваш сервер - и все. Картинки у Вас
P.S. В данном случае скрипт настроен для выгрузки картинок 3-го квартала 2016 года. Если у Вас другая версия поменять соответствующие цифры
 
Последнее редактирование:
берете текдок - устанавливаете. Далее поднимаете вебсервер у себя, далее запускаете скрипт,
конектите с текдоком. Наличие коннекта к мускулу обязательно, так же как и ODBC коннектор. Запускаете - далее ждете - все зависит от мощности Вашего компа. У меня это занимает 5-6 часов. Далее полученные файлы в формате JP2 конвертируете в JPG любой программой конвертором. После этого я бы еще рекомендовал простись программой сжатия. Загружатете их на Ваш сервер - и все. Картинки у Вас
P.S. В данном случае скрипт настроен для выгрузки картинок 3-го квартала 2016 года. Если у Вас другая версия поменять соответствующие цифры

пробовал таким способом. захожу в C:\Windows\SysWOW64\odbcad32.exe
но тут нет в системном DNS появившегося Transbase
установлен win 10 x64. может из за этого
как исправить, кто в курсе?
 
экспорт картинок

public void exportPictures() {

final String mysqlTable = "tof_graphics";

final String sqlDropTable = "DROP TABLE IF EXISTS " + mysqlTable;
final String sqlCreateTable = " CREATE TABLE IF NOT EXISTS " + mysqlTable + " (" +
"article_id int(11), " +
"image VARCHAR(100)" +
") ENGINE=MYISAM DEFAULT CHARSET=utf8";


final String[] sqlIndexes = {
"ALTER TABLE " + mysqlTable + " ADD INDEX (article_id)"
};

Statement st;
Statement mysqlSt;

try {

System.out.println("Export pictures");

st = connection.createStatement();
ResultSet result = st.executeQuery("SELECT LGA_ART_ID, GRA_ID, GRA_TAB_NR, GRA_GRD_ID, DOC_EXTENSION, GRA_LNG_ID FROM TOF_LINK_GRA_ART, TOF_GRAPHICS, TOF_DOC_TYPES WHERE DOC_TYPE=GRA_DOC_TYPE AND LGA_GRA_ID=GRA_ID AND GRA_TAB_NR IS NOT NULL ORDER BY GRA_TAB_NR");

ResultSetMetaData metaResult = result.getMetaData();

mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sqlDropTable);
mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sqlCreateTable);


for (String sql : sqlIndexes) {
mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sql);
}

int count = 0;

ArrayList<Integer> tableNumber = new ArrayList<Integer>();
ArrayList<Integer> ids = new ArrayList<Integer>();
ArrayList<Integer> articles = new ArrayList<Integer>();


while (result.next()) {
tableNumber.add(count, result.getInt(3));
ids.add(count, result.getInt(4));
articles.add(count, result.getInt(1));
count++;
System.out.println(count);
}

int limit = 1000;

String sql = "INSERT INTO " + mysqlTable + " VALUES (?, ?)";
PreparedStatement ps = mysqlConnection.prepareStatement(sql);
mysqlConnection.setAutoCommit(false);
for (int i = 0; i < ids.size(); i++) {

ps.setLong(1, articles.get(i));
System.out.println(tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
ps.setString(2, tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
ps.addBatch();

if (i % 5000 == 4500) {
System.out.println(i);
ps.executeBatch();
mysqlConnection.commit();
}
}
ps.executeBatch();
mysqlConnection.commit();
ps.close();

for (int i = 0; i < ids.size(); i++) {

try {
OutputStream output = null;
try {
File dir = new File("/Users/leo/images/" + tableNumber.get(i)+ "/");
if (!dir.exists()) {
dir.mkdir();
}

File file = new File("/Users/leo/images/" + tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");

System.out.print(i + " " +tableNumber.get(i)+ "-" + ids.get(i));
if (file.exists()) {
System.out.println(" - skip");
;
}
System.out.println(" - write");

Statement st3 = connection.createStatement();
String sql = "SELECT GRD_GRAPHIC FROM TOF_GRA_DATA_" + tableNumber.get(i) + " WHERE GRD_ID=" + ids.get(i);
ResultSet result2 = st3.executeQuery(sql);
result2.next();
byte[] data = result2.getBytes(1);

output = new BufferedOutputStream(new FileOutputStream(file));
output.write(data);
output.close();
this.convertImage("/Users/leo/images/" + tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
} catch(FileNotFoundException ex){
ex.printStackTrace();
}
} catch(IOException ex){
ex.printStackTrace();
}

}


} catch (SQLException e) {
e.printStackTrace();
}

}

Конвертация из в JPEG JPEG2000

public boolean convertImage(String path) {
try {

Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("JPEG2000");
ImageReader reader = iter.next();

if(reader == null) {
System.out.println("Could not locate any Readers for the JPEG 2000 format image.");
return true;
} else {
// System.out.println(reader.getFormatName());
}

BufferedImage image = null;
image = ImageIO.read(new File(path));
File outputFile = new File(path);
ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next();
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); // Needed see javadoc
param.setCompressionQuality(0.9F); // Highest quality
writer.setOutput(ImageIO.createImageOutputStream(outputFile));
writer.write(null, new IIOImage(image, null, null), param);
writer.dispose();

} catch (IOException e) {
e.printStackTrace();
}
return true;
}
 
экспорт картинок

public void exportPictures() {

final String mysqlTable = "tof_graphics";

final String sqlDropTable = "DROP TABLE IF EXISTS " + mysqlTable;
final String sqlCreateTable = " CREATE TABLE IF NOT EXISTS " + mysqlTable + " (" +
"article_id int(11), " +
"image VARCHAR(100)" +
") ENGINE=MYISAM DEFAULT CHARSET=utf8";


final String[] sqlIndexes = {
"ALTER TABLE " + mysqlTable + " ADD INDEX (article_id)"
};

Statement st;
Statement mysqlSt;

try {

System.out.println("Export pictures");

st = connection.createStatement();
ResultSet result = st.executeQuery("SELECT LGA_ART_ID, GRA_ID, GRA_TAB_NR, GRA_GRD_ID, DOC_EXTENSION, GRA_LNG_ID FROM TOF_LINK_GRA_ART, TOF_GRAPHICS, TOF_DOC_TYPES WHERE DOC_TYPE=GRA_DOC_TYPE AND LGA_GRA_ID=GRA_ID AND GRA_TAB_NR IS NOT NULL ORDER BY GRA_TAB_NR");

ResultSetMetaData metaResult = result.getMetaData();

mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sqlDropTable);
mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sqlCreateTable);


for (String sql : sqlIndexes) {
mysqlSt = mysqlConnection.createStatement();
mysqlSt.executeUpdate(sql);
}

int count = 0;

ArrayList<Integer> tableNumber = new ArrayList<Integer>();
ArrayList<Integer> ids = new ArrayList<Integer>();
ArrayList<Integer> articles = new ArrayList<Integer>();


while (result.next()) {
tableNumber.add(count, result.getInt(3));
ids.add(count, result.getInt(4));
articles.add(count, result.getInt(1));
count++;
System.out.println(count);
}

int limit = 1000;

String sql = "INSERT INTO " + mysqlTable + " VALUES (?, ?)";
PreparedStatement ps = mysqlConnection.prepareStatement(sql);
mysqlConnection.setAutoCommit(false);
for (int i = 0; i < ids.size(); i++) {

ps.setLong(1, articles.get(i));
System.out.println(tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
ps.setString(2, tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
ps.addBatch();

if (i % 5000 == 4500) {
System.out.println(i);
ps.executeBatch();
mysqlConnection.commit();
}
}
ps.executeBatch();
mysqlConnection.commit();
ps.close();

for (int i = 0; i < ids.size(); i++) {

try {
OutputStream output = null;
try {
File dir = new File("/Users/leo/images/" + tableNumber.get(i)+ "/");
if (!dir.exists()) {
dir.mkdir();
}

File file = new File("/Users/leo/images/" + tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");

System.out.print(i + " " +tableNumber.get(i)+ "-" + ids.get(i));
if (file.exists()) {
System.out.println(" - skip");
;
}
System.out.println(" - write");

Statement st3 = connection.createStatement();
String sql = "SELECT GRD_GRAPHIC FROM TOF_GRA_DATA_" + tableNumber.get(i) + " WHERE GRD_ID=" + ids.get(i);
ResultSet result2 = st3.executeQuery(sql);
result2.next();
byte[] data = result2.getBytes(1);

output = new BufferedOutputStream(new FileOutputStream(file));
output.write(data);
output.close();
this.convertImage("/Users/leo/images/" + tableNumber.get(i)+ "/" + ids.get(i) + ".jpg");
} catch(FileNotFoundException ex){
ex.printStackTrace();
}
} catch(IOException ex){
ex.printStackTrace();
}

}


} catch (SQLException e) {
e.printStackTrace();
}

}

Конвертация из в JPEG JPEG2000

public boolean convertImage(String path) {
try {

Iterator<ImageReader> iter = ImageIO.getImageReadersByFormatName("JPEG2000");
ImageReader reader = iter.next();

if(reader == null) {
System.out.println("Could not locate any Readers for the JPEG 2000 format image.");
return true;
} else {
// System.out.println(reader.getFormatName());
}

BufferedImage image = null;
image = ImageIO.read(new File(path));
File outputFile = new File(path);
ImageWriter writer = ImageIO.getImageWritersByFormatName("jpeg").next();
ImageWriteParam param = writer.getDefaultWriteParam();
param.setCompressionMode(ImageWriteParam.MODE_EXPLICIT); // Needed see javadoc
param.setCompressionQuality(0.9F); // Highest quality
writer.setOutput(ImageIO.createImageOutputStream(outputFile));
writer.write(null, new IIOImage(image, null, null), param);
writer.dispose();

} catch (IOException e) {
e.printStackTrace();
}
return true;
}
Его создать надо. В начале установить сам коннектор MySQL/ODBC а потом прописать пользовательское подключение
 
дальше думаю сами ))))
однако даже версия 3.2.5 не работает с последними базами

не хочет подключаться к базе Текдок, пишет No connection!

Это из-за того, что модуль более свежий, чем база?
 
Назад
Сверху