Reproduzca el comportamiento, no el documento confidencial
Al comunicar un problema entre herramientas, suele ser más útil crear un archivo nuevo y pequeño. Cambiar el nombre de un PDF de cliente no elimina texto privado, metadatos ni contenido incrustado. Renderizar una página como imagen tampoco certifica privacidad.
Elija una condición de fallo cada vez
Para un problema de tabla, cree dos columnas y una fila con 1.234,50 o código equilibrado como `A|B`. Quite la narrativa irrelevante y use etiquetas inventadas. Ejecute el exportador y adjunte origen y salida real, no solo una captura del terminal.
Para la conciliación, parta del JSON sintético y cambie únicamente el cierre a "104". Se espera una diferencia de 1 y un resultado negativo. No copie saldos del cliente porque parezcan anónimos: una combinación de cifras y fechas puede identificarlo.
Para renderizado, use el PDF sintético de tres páginas y una selección no consecutiva. Si falta la página 3, conserve número de páginas y selección al reproducir; no hace falta mantener el contenido original del cliente.
Informe del entorno y de lo observado
python --version
# Anote el comando exacto, la muestra y el nombre de salida.
# Solo en el proyecto PDF, con su entorno virtual:
python -m pip show pypdfium2 PillowIncluya revisión del repositorio, plataforma, versiones, código de salida, valor esperado y valor obtenido. No incluya claves API, tokens, rutas de cliente ni nombres confidenciales. Si las muestras incluidas no reproducen un defecto específico del origen, indíquelo; no lo dé por resuelto.
El método reduce lo que comparte. No anonimiza automáticamente documentos reales. Todas las muestras distribuidas son sintéticas y cada herramienta tiene un alcance limitado distinto.
← Notas prácticas