[Tex/LaTex] Adding crop marks to a4 document to crop it to book without changing the layout

cropgeometryprinting

I have a complete 150 pages LaTeX document that is in a4 format. I basically want to print it exactly as it is, except that I want to add crop part of the margins. I want to remove 10mm on the inner, 40mm on the outer, 40mm on the top and 30mm on the bootom edge.

Basically what I want to do is just print the document on a4 paper in the original size, but afterwards cut it to its final size. For this I have to provide the print shop with either a version that has the final document size or a version in a4 that has crop marks.

Unfortunately all my attempts to crop the page led to wrong results where parts of the document were cut off. I tried the crop package but that only seems to work if you want to add margins to the given document and not if you want to take them away. Also geometry did not help (maybe I am using it wrong). I can specify a paperheight and a voffset, but if I try to change the paperwidth it messes with the margins and i didn't find a way to just take from the paper 10mm on the inside and 40mm on the outside.

What is the simplest solution to do what I want to do?

EDIT:
With Werner's reply I would consider this as a minimal example of what I am dealing with:

\documentclass[11pt,twoside,BCOR=10mm]{scrreprt}
\typearea[current]{calc}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{setspace}
\usepackage{blindtext}
\usepackage[a4paper]{geometry}

\geometry{layoutheight=230mm,layoutwidth=160mm,layoutvoffset=30mm,layouthoffset=10mm,showcrop}

\typearea[current]{last}
\setlength{\textheight}{200mm}
\begin{document}\blindtext[8]\end{document}

Best Answer

I guess geometry assumes a oneside is in effect for using crop marks. As such, you can adjust the \layouthoffset using a condition during shipout:

enter image description here

\documentclass[11pt,twoside,BCOR=10mm]{scrreprt}
\typearea[current]{calc}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{setspace,blindtext,etoolbox}
\usepackage[a4paper]{geometry}

\makeatletter
% \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
\patchcmd{\Gm@pageframes}{\ifGm@showcrop}{%
  \ifGm@showcrop
    \ifodd\count\z@
      \setlength{\Gm@layouthoffset}{10mm}%
    \else
      \addtolength{\Gm@layouthoffset}{40mm}
    \fi%

  }{}{}
\geometry{layoutheight=230mm,layoutwidth=160mm,layoutvoffset=30mm,showcrop}

\typearea[current]{last}
\setlength{\textheight}{200mm}
\begin{document}
\blindtext[8]
\end{document}

A patch of \Gm@pageframes to insert the appropriate \Gm@layouthoffset at page shipout.