Skip to content

Exact reproduction of a document with ASCII table in React/JavaScript #1269

@Gitcodtokok2

Description

@Gitcodtokok2

I am developing a React application that needs to generate a PDF document with very specific formatting. The main challenge is to reproduce exactly a formatted table using only ASCII characters for borders and structure, while maintaining perfect alignment.
Specific Features of the Document

The document I need to reproduce has these precise characteristics:
It uses simple ASCII characters (:, -) to construct all borders.
Columns are separated by colon characters :
Horizontal lines are made up of repeated dash characters -
The header contains information across multiple lines.
Alignment must remain perfectly stable, character by character.
Spacing between columns must be uniform.
The document exclusively uses a fixed-width (monospace) font.

Here is an example of the exact format I need to reproduce:

Image

Main Issues I'm Facing
When I try to generate this document:

Alignment issues : As soon as I insert text into the cells, the border : characters shift, ruining the vertical alignment.
Line misalignment : The horizontal lines made of - do not align properly.
Inconsistent spacing : I can't maintain uniform spacing between characters.
What makes this particularly difficult is that the document must look exactly like one generated by a dot matrix printer or typewriter — every character must align precisely on an invisible grid.

Attempts Made So Far
I have tried:
Standard HTML tables : Alignment changes depending on content.
CSS-based tables : Borders don’t align correctly.
Monospace fonts with

 tags : I lose alignment when adding content.
Canvas : Hard to place each character precisely.
PDF libraries : Problems with ASCII characters and alignment.
React-PDF : Can’t maintain perfect alignment.
My Technical Environment
React 18.x
JavaScript
Tried libraries: jsPDF, pdfmake, react-pdf, html2canvas
Specific Questions
What would be the best approach to generate a document where each character (including borders) must be placed at a fixed grid position?
How can I maintain perfect alignment of ASCII characters (:, -) regardless of the amount of text?
Are there any techniques to treat the document as a matrix of fixed characters rather than fluid HTML content?
Is there a JavaScript library particularly suited for this kind of "typewriter-style" formatting?
How can I export this document to PDF while preserving perfect character alignment?
I’m ready to completely change my approach if necessary. The key is to faithfully reproduce this very specific format.

Thank you in advance for your help!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions