camelot python;OSError: exception: access violation writing 0x00000080

1

I was trying to extract tables from a PDF file with Camelot.

Here is my code:

import camelot
tables = camelot.read_pdf('foo.pdf')
print(tables)

and I am getting the error while running this script as follows:

  File "C:/Users/gibin/PycharmProjects/ML/Table_Tester.py", line 20, in <module>
    table=tables = camelot.read_pdf(r"C:\Users\gibin\PycharmProjects\ML\Doc_downloader\GWC_Docs\781313686.pdf")
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\io.py", line 117, in read_pdf
    **kwargs
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\handlers.py", line 172, in parse
    p, suppress_stdout=suppress_stdout, layout_kwargs=layout_kwargs
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\parsers\lattice.py", line 403, in extract_tables
    self._generate_image()
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\parsers\lattice.py", line 220, in _generate_image
    with Ghostscript(*gs_call, stdout=null) as gs:
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\__init__.py", line 95, in Ghostscript
    stderr=kwargs.get("stderr", None),
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\__init__.py", line 39, in __init__
    rc = gs.init_with_args(instance, args)
  File "C:\Users\gibin\AppData\Local\Programs\Python\Python37-32\lib\site-packages\camelot\ext\ghostscript\_gsprint.py", line 169, in init_with_args
    rc = libgs.gsapi_init_with_args(instance, len(argv), c_argv)

OSError: exception: access violation writing 0x00000080

Process finished with exit code 1

How can I solve this, or is there another way to get tables from PDF?

Edit: The same script is working fine in jupyter notebook, but not working in pycharm.

python
python-3.x
pdf
python-pdfkit
python-camelot
asked on Stack Overflow Oct 23, 2019 by m.gibin • edited Oct 24, 2019 by m.gibin

2 Answers

1

Did you install Camelot via the PyPI repository, i.e. pip install camelot-py[cv]?

I stopped getting this error after I re-installed Camelot from source:

git clone https://www.github.com/camelot-dev/camelot
cd camelot
pip install ".[cv]"

References:

answered on Stack Overflow Jan 29, 2020 by browly
0

In my case at Windows 7, I changed the flavor to 'stream' and everything starts to be fine, because the pdf file that I'm using doesn't have any visible table, and 'stream' flavor are the right one for such pdf file while in default camelot set the flavor to be 'lattice'.

The code would be like this:

import camelot
tables = camelot.read_pdf('foo.pdf', flavor = 'stream')
print(tables)

I don't know why it happens because if I run the same code (that shows errors in Windows 7) in Debian 10, everything is just fine (but there would be no tables detected in the end).

EDIT : I run those code on jupyter notebook. I don't know how it would be if it runs on PyCharm.

answered on Stack Overflow Apr 23, 2020 by firli_drako • edited Apr 23, 2020 by firli_drako

User contributions licensed under CC BY-SA 3.0