Convierte un mazo de Anki (.apkg) o un PDF de test en un script de Google Apps Script que crea Formularios de Google en modo test (con respuestas correctas y 1 punto por pregunta). Sin IA, sin APIs, solo Python estándar.
python apkg2forms.py # interfaz gráfica (macOS, Windows, Linux)
python apkg2forms.py mazo.apkg # línea de comandos -> mazo.gs
- Abre el
.apkg, elige los mazos y pulsa Copiar script (al portapapeles, listo para pegar) o Guardar script… (archivo.gs, informe.csve imágenes). - En https://script.google.com crea un proyecto, pega el
.gs, eligecrearFormulariosy pulsa Ejecutar. - Los enlaces salen en el registro. Si quedan formularios, ejecútala otra vez.
- Python 3.9+ con tkinter (Windows/macOS de python.org ya lo traen; Homebrew:
brew install python-tk; Debian/Ubuntu:sudo apt install python3-tk). .apkgnuevos (zstd): Python 3.14+ opip install zstandard; si no, exporta en Anki con "Compatible con versiones antiguas".
El tipo de archivo se detecta solo (.apkg o PDF). En un PDF se buscan preguntas numeradas (1., 2.…) con opciones A., B., C.… (acentos de LaTeX y líneas partidas se arreglan). Las imágenes se asignan a la pregunta que las lleva.
- Un PDF no trae la clave de respuestas. Escríbela en el campo "Respuestas" (
CABD…en orden, o1C 2A 3B…;-oXsi una pregunta no tiene respuesta). Sin clave el formulario se crea sin puntuación. - No se copian las tablas como tabla (salen como texto en el enunciado), ni se aplica la penalización por fallo: Forms solo suma puntos.
- Solo PDF con texto (no escaneados). Hace falta
pip install pypdf pillow(ya incluidos en los ejecutables).
- Tarjetas tipo test (opciones
A./a)en el texto): la correcta se detecta porRespuesta: C,c), opción en negrita o reverso con la opción. - Normales y cloze: respuesta correcta + opciones falsas tomadas de otras tarjetas del mismo mazo.
- Se omiten (y se cuentan en el resumen) las tarjetas sin respuesta detectable o con respuesta larga. Las imágenes no se copian.
python test_apkg2forms.py comprueba el parser.
Lanzar-macOS.command, Lanzar-Windows.bat o Lanzar-Linux.sh (en Linux, si el gestor de archivos no los ejecuta: chmod +x Lanzar-Linux.sh). En macOS la primera vez: clic derecho > Abrir.
- Junto al
.gsse crea*.revisar.csvcon las tarjetas omitidas y las que tenían imagen. - Las preguntas con imagen salen en el formulario con
[IMAGEN]delante, y sus imágenes se copian a*-imagenes/con el nombreformulario - pregunta N(el CSV dice cuál es cuál), para añadirlas a mano. - Si la tarjeta trae explicación, se muestra como feedback en el formulario.
./build.shgeneradist/apkg2forms.app(macOS) odist/apkg2forms(Linux). Hay que ejecutarlo en cada sistema.- Descarga lista (sin Python): en Releases del repo,
apkg2forms-windows.exe,apkg2forms-macos.zipoapkg2forms-linux(en Linux:chmod +x apkg2forms-linux). - Para publicar una versión nueva:
git tag v1.1.0 && git push origin v1.1.0; GitHub Actions compila los tres y los adjunta. - Windows avisa de "Windows protegió su PC": Más información > Ejecutar de todas formas. En macOS el
.appno está firmado: clic derecho > Abrir.
Software libre bajo licencia MIT: úsalo, cópialo, modifícalo y distribúyelo como quieras, siempre que conserves el aviso de copyright (la mención al autor original).