pdf2wordx presents a clean, purposefully compact interface built entirely with Python’s Tkinter toolkit. The main window is a fixed 500×300 pixel frame with a deep navy background (Documentation Index
Fetch the complete documentation index at: https://mintlify.com/dev2forge/pdf2wordx/llms.txt
Use this file to discover all available pages before exploring further.
#001223) that cannot be resized by the user. All twelve UI elements — labels, buttons, and a single entry field — are positioned using Tkinter’s absolute place geometry manager with relative coordinates, giving the layout precise and predictable placement across operating systems. Every widget is created and managed by the Widgets class in files/interfaz.py, while the App class in _pdf2wordx.py wires each interactive element to its corresponding action.
The window is not resizable in either direction — both horizontal and vertical resizing are disabled via
root.resizable(False, False). On launch, the window is automatically centered on the screen using the Window.__centerWindow() method, which calculates the screen dimensions and positions the window at the exact midpoint.Top Bar
The top bar contains the application identity and two utility buttons, all sitting at approximately 5% from the top of the window.Title Label — "PDF2WORDX - SRM"
Title Label — "PDF2WORDX - SRM"
Type:
LabelThe title label is the first element rendered in the window and serves as the application name display. It renders the text “PDF2WORDX - SRM” in bold Helvetica at 20pt, with white text on the dark #001223 background. It is purely decorative and carries no interactive behavior. It is placed at roughly the horizontal center of the window (relx: 0.23) aligned to the top bar.Help Button — "Ayuda"
Help Button — "Ayuda"
OSL Button — "OSL"
OSL Button — "OSL"
File Name Row
Located at approximately 23% from the top, this row lets users configure the output filename before selecting any files."Nombre Archivo:" Label
"Nombre Archivo:" Label
Type:
LabelA static white-on-dark label that reads “Nombre Archivo:” (File Name:). It acts as the visual prompt for the entry field immediately to its right, positioned at relx: 0.23, rely: 0.23.Filename Entry Field
Filename Entry Field
Type:
EntryThe filename entry field is the only text-input control in the application. It is pre-populated on startup with the default value document-pdf2wordx via widget.widgetsList[4].insert(0, 'document-pdf2wordx'). Users can clear this value and type any desired output filename — without the .docx extension, which is appended automatically during the conversion setup step.The field is styled with a dark indigo background (#13004d), bright yellow text (#ffdd02), and bold 12pt Consolas font, making it visually distinct from the surrounding labels. It is placed at relx: 0.43, rely: 0.23.Action Buttons Row
The three primary action buttons are aligned horizontally at approximately 35% from the top of the window, each gated so they only become active when the preceding step has been completed.Open File Button — "Abrir Archivo"
Open File Button — "Abrir Archivo"
Choose Directory Button — "Elegir Directorio"
Choose Directory Button — "Elegir Directorio"
Convert Button — "Convertir"
Convert Button — "Convertir"
Information Labels
Three read-only status labels sit below the button row (at approximately 48%, 57%, and 65% from the top). They are all initially set to short placeholder strings and are updated byFuncs._setTextLabel() as the user progresses through the workflow.
PDF File Info Label — "Archivo PDF:"
PDF File Info Label — "Archivo PDF:"
Type:
Updated by:
LabelUpdated by:
App.fileSet() after a PDF is selectedDisplays the base filename of the selected PDF, prefixed with "Archivo PDF: ". For example, after selecting my-report.pdf, this label reads “Archivo PDF: my-report.pdf”. It is left-aligned (anchor='w') with a fixed width of 54 characters, placed at relx: 0.13, rely: 0.48.Output File Info Label — "Archivo De Salida:"
Output File Info Label — "Archivo De Salida:"
Type:
Updated by:
LabelUpdated by:
App.fileOutSet() after a directory is chosenDisplays the configured output .docx filename, prefixed with "Archivo De Salida: ". For example: “Archivo De Salida: document-pdf2wordx.docx”. Also left-aligned at relx: 0.13, rely: 0.568.Output Directory Info Label — "Directorio De Salida:"
Output Directory Info Label — "Directorio De Salida:"
Type:
Updated by:
LabelUpdated by:
App.convertFile() after conversion is triggeredDisplays the full output directory path where the .docx will be saved, prefixed with "Directorio De Salida: ". This label is updated at the moment the Convert button is pressed, so the user can see exactly where their file was written. Placed at relx: 0.13, rely: 0.65.Footer
Copyright Label — "© SRM - TRG 2024"
Copyright Label — "© SRM - TRG 2024"
Type:
LabelA small copyright notice rendered in 7pt bold Consolas at the very bottom of the window (relx: 0.4, rely: 0.95). It displays ”© SRM - TRG 2024” in white text on the dark background and is purely informational.