Importieren Sie Bilder automatisch in Vorder- und Rückseite der Karten

2091
acman123

Ich habe einige Bilder mit dem folgenden Namen in einem Ordner:

Image_00036.jpg
Image_00037.jpg
Image_00038.jpg
Image_00039.jpg

Ich möchte einige Karten erstellen. Jede Karte hat die geraden Bilder für die Vorderseite und die ungeradzahligen Bilder für die Rückseite. Wie kann ich das automatisch tun, ohne jedes Bild manuell ziehen und ablegen zu müssen?

0

1 Antwort auf die Frage

0
Ingaz

Step 1. Prepare metadata

I suppose that you already know:

  1. How to create new deck (not neccessary, but makes sense)
  2. How to define new note type
  3. How to define cards for note type
  4. Import from delimited text file

If not - check documentation, it's not complex.

You need to create a note type with at least 3 fields: Id, FrontImage, BackImage

Step 2.Generate delimited text file

I suppose that your image files are numbered from 0 to N with preceding zeroes. E.g if N=100,then image names are: image00000.jpg - image00100.jpg.

The goal: create delimited text file with content like:

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"/> 

Recipe 1. Use script language

In python generation can be:

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))])) 

Recipe 2. Use spreadsheet

If you're more comfortable with office tools you can use spreadsheet.

You need to create: autoincrementing field and 2 calculated fields.

Example: https://docs.google.com/spreadsheets/d/1W1DQ2ZSm4XuYNeKlkybbTeXh7RGqkk8H-7CgCaBVeI4/pubhtml

Formula for front:

= Concatenate("<src img=""Image", Text(A2*2-1,"00000"),".jpg"" />") 

Step 3. Save in file, import, copy images to media folder, enjoy

Exactly so.

Good luck!