iLoveDXF

PDF 转 Excel

从 PDF 的文本布局中提取表格并生成 Excel 工作簿,每页一个工作表——全部在浏览器中完成。

此工具通过每个单词的位置推测行列——并非真正的表格结构识别,因此复杂或多栏布局可能无法完全对齐。下载前请检查预览。

PDF 在浏览器中处理——下载前不会上传任何内容。

拖放,或点击选择 PDF

How it helps

Extracts every page's text into a row/column grid based on word position.
Writes one Excel sheet per PDF page.
Shows a preview table so you can check the extraction before downloading.
Processed in your browser until you download.

Best practices

  • - Works best on simple grids like invoices, price lists, and reports with consistent column alignment.
  • - Multi-column page layouts (like a two-column newsletter) will not extract as a single clean table.
  • - Scanned PDFs (image-only, no embedded text) won't extract anything — OCR them first.
  • - Always check the preview — heuristic column detection can merge or split columns on unusual layouts.

Limitations

  • - This is a position heuristic, not true table-structure detection — it can't reliably handle merged cells, nested tables, or rotated text.
  • - Tables that span multiple pages are extracted as separate sheets, not stitched into one continuous table.
  • - Very dense or tightly kerned text can throw off column-gap detection.

FAQ

How does the extraction work?

It reads the exact X/Y position of every word on the page, groups words into rows by closeness in vertical position, then detects column boundaries from the horizontal gaps that repeat across rows — no real table-grid data exists in a PDF, so this is inherently a best-effort reconstruction.

Why don't my columns line up correctly?

Uneven spacing, merged cells in the source, or a non-tabular layout can confuse the column-gap heuristic. Try a PDF with more consistent alignment, or expect to touch up the result in Excel.

Does this work on scanned PDFs?

No — scanned pages have no embedded text layer to read positions from. OCR the PDF first with a tool that adds a text layer.

Is anything uploaded?

No. The PDF is processed entirely in your browser; it's only sent anywhere when you choose to download the result.