Fixed
Status Update
Comments
vi...@google.com <vi...@google.com> #2
Hello Alexander,
You mention other images of tables; what other images have you tried? Have you tried cases where the table did not fill the entire page, but less than a third? BlockType TABLE is defined as "Table block." on the "Method: images.annotate" documentation page. [1]
What extra information would this BlockType value as TABLE would bring for you? In fact, you are already aware that what you submit to the API call is the image of a table.
A few images that you tried would be of help in reproducing this issue on our side. The image you attached is particular in that the table fills the entire page.
[1]https://cloud.google.com/vision/docs/reference/rest/v1/images/annotate#blocktype
You mention other images of tables; what other images have you tried? Have you tried cases where the table did not fill the entire page, but less than a third? BlockType TABLE is defined as "Table block." on the "Method: images.annotate" documentation page. [1]
What extra information would this BlockType value as TABLE would bring for you? In fact, you are already aware that what you submit to the API call is the image of a table.
A few images that you tried would be of help in reproducing this issue on our side. The image you attached is particular in that the table fills the entire page.
[1]
he...@headius.com <he...@headius.com> #3
Hi,
I cropped the table from full invoice in order to have small result data set for testing porposes, usually the table comes integrated in bigger document.
I need a block_type value because:
1.I want to get table and other data from full invoice and parse them separately with different logic.See bill.jpg
2.I have invoices with multiple tables on them and additional data so i need to distinguish the tables(or table like structures) and parse them accordingly. See super.jpg
I am attaching another image, in all those 3 images i get only block_type = 1 for all blocks.
I am testing with code that taken fromhttps://cloud.google.com/vision/docs/fulltext-annotations
just adding the print under the block 'for'.
```
for block in page.blocks:
print('BLOCK TYPE: ' + str(block.block_type))
```
I cropped the table from full invoice in order to have small result data set for testing porposes, usually the table comes integrated in bigger document.
I need a block_type value because:
1.I want to get table and other data from full invoice and parse them separately with different logic.See bill.jpg
2.I have invoices with multiple tables on them and additional data so i need to distinguish the tables(or table like structures) and parse them accordingly. See super.jpg
I am attaching another image, in all those 3 images i get only block_type = 1 for all blocks.
I am testing with code that taken from
just adding the print under the block 'for'.
```
for block in page.blocks:
print('BLOCK TYPE: ' + str(block.block_type))
```
he...@headius.com <he...@headius.com> #4
Your specific issue has been made known to Engineering, who will address it in due course. No estimated time to resolution has been set. Meanwhile, you may follow developments in this thread.
he...@headius.com <he...@headius.com> #5
OCR does not provide "table" block type. A table parsing enhancement to DOCUMENT_TEXT_DETECTION might be implemented in future. As yet, there is no established release date. Progress with get recorded in this thread.
he...@headius.com <he...@headius.com> #7
Suprisingly, the REST API doesn't provide structure information or blocktype while rpc does, I wonder why is that the case.
we...@gmail.com <we...@gmail.com> #8
Comment has been deleted.
we...@gmail.com <we...@gmail.com> #9
I'm also interested on this
mi...@google.com <mi...@google.com> #10
I am also interested in this, AWS Textract is giving option to find the table in the images. Can we expect the same here also
mi...@google.com <mi...@google.com> #11
I am also interested in this, I am trying to compare this with Azure and AWS.
we...@gmail.com <we...@gmail.com> #12
Hello Google, Why is there no update on this issue? Please update!
mi...@google.com <mi...@google.com> #14
I am interested too
we...@gmail.com <we...@gmail.com> #15
You try this apk, i -keep class scala.Array
in proguard rules.
mi...@google.com <mi...@google.com> #16
Thanks for reporting this, it was indeed a bug. aosp/2864747 should fix it.
re Caused by: scala.reflect.internal.FatalError: package scala does not have a member Int
. I guess it won't be the only missing class.
we...@gmail.com <we...@gmail.com> #17
Also thank you for fixing this bug, i will solve the rest.
Description
As part of securing non-public APIs, it appears that a critical piece of the MethodHandle API has been blocked without allowing internal classes to use it.
Attempting to use the MethodHandles.constant method, which returns a MethodHandle that returns a constant value, you will see the following error:
The underlying cause is that MethodHandles.makeIdentity appears to reflectively access a restricted MethodHandles.identity variant:
I could not find the exact source that corresponds to MethodHandles.java:2928 here.
I believe this access of MethodHandles.identity should be allowed, or perhaps the implementation of MethodHandles.makeIdentity needs to be updated to a version that does not reflectively access (via Lookup) the identity method.
Note this also affects other java.lang.invoke classes that depend on the public MethodHandles.identity; specifically, the SwitchPoint class uses this call path in its class initialization, so this restriction prevents SwitchPoint from being loaded at all.
This was discovered while updating JRuby and its Android framework "Ruboto" for Android level 33. JRuby uses invokedynamic and method handles extensively.