Импортировать изображения в anki автоматически на лицевую и тыльную сторону карт
У меня есть несколько изображений с таким именем в папке:
Image_00036.jpg
Image_00037.jpg
Image_00038.jpg
Image_00039.jpg
Я хочу создать несколько карт. Каждая карточка будет иметь четные изображения на лицевой стороне и нечетные изображения на ее оборотной стороне. Как я могу сделать это автоматически, без необходимости вручную перетаскивать каждое изображение?
1 ответ
Шаг 1. Подготовьте метаданные
Я полагаю, что вы уже знаете:
- Как создать новую колоду (не обязательно, но имеет смысл)
- Как определить новый тип заметки
- Как определить карты для типа заметки
- Импорт из текстового файла с разделителями
Если нет - проверьте документацию, это не сложно.
Вам нужно создать тип заметки как минимум с 3 полями: Id, FrontImage, BackImage
Шаг 2. Создать текстовый файл с разделителями
Я предполагаю, что ваши файлы изображений пронумерованы от 0 до N с предшествующими нулями. Например, если N=100, тогда имена изображений: image00000.jpg - image00100.jpg.
Цель: создать текстовый файл с разделителями, например:
Card_00000;<img src="Image_00000.jpg"/>;<img src="Image_00001.jpg"/>
Card_00001;<img src="Image_00002.jpg"/>;<img src="Image_00003.jpg"/>
Card_00002;<img src="Image_00004.jpg"/>;<img src="Image_00005.jpg"/>
Card_00003;<img src="Image_00006.jpg"/>;<img src="Image_00007.jpg"/>
Card_00004;<img src="Image_00008.jpg"/>;<img src="Image_00009.jpg"/>
Card_00005;<img src="Image_00010.jpg"/>;<img src="Image_00011.jpg"/>
Card_00006;<img src="Image_00012.jpg"/>;<img src="Image_00013.jpg"/>
Card_00007;<img src="Image_00014.jpg"/>;<img src="Image_00015.jpg"/>
Card_00008;<img src="Image_00016.jpg"/>;<img src="Image_00017.jpg"/>
Card_00009;<img src="Image_00018.jpg"/>;<img src="Image_00019.jpg"/>
Card_00010;<img src="Image_00020.jpg"/>;<img src="Image_00021.jpg"/>
Card_00011;<img src="Image_00022.jpg"/>;<img src="Image_00023.jpg"/>
Рецепт 1. Используйте язык сценариев
В генерации питона могут быть:
print("\n".join(['Card_%05d;<img src="Image_%05d.jpg"/>;<img src="Image_%05d.jpg"/>' % (image_number,image_number*2, image_number*2 +1 )
for image_number in range(0, int(100/2))]))
Рецепт 2. Используйте электронную таблицу
Если вам удобнее использовать офисные инструменты, вы можете использовать электронную таблицу.
Вам необходимо создать: автоинкрементное поле и 2 вычисляемых поля.
Пример: https://docs.google.com/spreadsheets/d/1W1DQ2ZSm4XuYNeKlkybbTeXh7RGqkk8H-7CgCaBVeI4/pubhtml
Формула для фронта:
= Concatenate("<src img=""Image", Text(A2*2-1,"00000"),".jpg"" />")
Шаг 3. Сохранение в файл, импорт, копирование изображений в папку мультимедиа, наслаждайтесь
Точно так.
Удачи!
Обратите внимание, что формула для использования метода электронной таблицы "Рецепт 2" должна быть
= Concatenate("<img src=""Image", Text(A2*2-1,"00000"),".jpg"" />")
В ответе Алекса Ю в формуле указано "src img", которое не распознается Anki. Ваш вывод должен быть в формате "img src".
Если ваши файлы начинаются с 1 без следующих нулей, вы можете закодировать это как:
= Concatenate("<img src=""Image", Text(A2*2-1,"0"),".jpg"" />")
Если ваши файлы из PowerPoint и названы "Slide1", вы можете изменить формулу на:
= Concatenate("<img src=""Slide", Text(A2*2-1,"0"),".jpg"" />")
Кроме того, если ваши файлы изображений имеют формат.jepg, замените ".jpg" в формуле на ".jepg", и он будет работать правильно без необходимости конвертировать ваши файлы.