Is there a similar expression to express that one is being honest and forthright, and not hiding information?
poner [...] las cartas boca arriba
1. loc.verb. Poner de manifiesto un propósito u opinión que se guardaba oculto.
DLE also mentions enseñar las cartas as a synonym. So both poner las cartas boca arriba and enseñar las cartas have that meaning of "showing your intentions or opinions, which were previously hidden".
I have always said poner las cartas sobre la mesa, though. I do not think it is uncommon to say it that way.
I add these two expressions that mean something similar (at least in Chile):
Hablar a calzón quitado.
Hablar sin pelos en la lengua.
These expressions mean to say things with total frankness, without hiding anything. They differ from "poner las cartas sobre la mesa" in that they also express shamelessness, speaking without censorship or social or moral concealment.
At least related is the equivalent to the English to come clean: One decides to stop hiding something (and, if you want, lay all cards on the table). The Spanish translation is simply confesar [algo], to confess something.
(In German one could also say "die Hosen runterlassen", literally "let down your pants", to reveal what was previously concealed, in an embarrassing fashion, often under pressure. But I think this idiom has no direct equivalent in Spanish.)