In Forster's "Lectures on Riemann Surfaces", section 16 of chapter 2, he describes the following epimorphism of sheaves: suppose $X$ is a compact Riemann surface and $D$ is a divisor of $X$ and take $P \in X$. Consider the sheaves $\mathcal{O}_{D+P}$ and $\mathbb{C}_P$ of vector spaces defined by $$\mathcal{O}_{D+P}(U) = \{ f \in \mathscr{M}(X) \colon \text{ord}_x(f) \geq -D(x)-P(x),\text{ for each $x \in X$} \},$$ where $P$ denotes the divisor on $X$ which equals 1 on $P$ and 0 elsewhere, and $\mathbb{C}_P(U) = \mathbb{C}$ if $P \in U$ and $\mathbb{C}_P(U) = 0$ if $P \notin U$, for each open $U \in X$. Then, if $U$ is open in $X$ and $P \notin U$, we define $\beta_U \colon \mathcal{O}_{D+P}(U) \to \mathbb{C}_P(U)$ as the trivial homomorphism, which is clearly surjective. Otherwise, we consider a coordinate neighborhood $(V,z)$ of $P$ such that $z(P)=0$ and, for $f \in \mathcal{O}_{D+P}(U)$, we may consider the Laurent expansion $$f = \displaystyle\sum_{n=-D(P)-1}^{\infty} c_n z^n.$$ From this, we define $\beta_U(f)$ to be $c_{-D(P)-1}$. Forster then claims that this is surjective, which is the part I don't get.
As far as I understand, it's enough to find a meromorphic function $f \in \mathcal{O}_{D+P}(U)$ with a pole on $P$ of order exactly $-D(P)-1$ and the surjectivity follows by taking $c/c_{-D(P)-1}f$ for any $c \in \mathbb{C}^\times$. But how can we guarantee the existence of such a meromorphic function? This is all defined in order to prove Riemann-Roch, so we "can't" use that or the Riemann Existence Theorem. There's also the problem of controlling the order on other the points, since the function has to be in $\mathcal{O}_{D+P}(U)$. Any suggestions on how to prove this?
To answer this, we use the suggestions outlined in the comments. We have an epimorphism of sheaves if the induced morphisms on the stalks are surjective. It is direct that it is surjective for any point $Q \neq P$. Thus, it is enough to find a small enough open set $U \subseteq X$, with $P \in U$, such that $\beta_U$ is surjective, which will imply it is surjective on the stalks at $P$. We proceed as follows: $D$ is a divisor on a compact Riemann surface, so the image of $D$ is different from zero only on a finite number of points, say, $\{x_1,\ldots,x_n\}$, one of which may be $P$. That being the case, we choose $U$ of $P$ that doesn't contain any of the $x_i$ distinct from $P$ and then we look at $W=U \cap V$ and $w=z\vert_{U\cap V}$. We have that the only zero of $w$ is at $P$, which is of order 1 since $w$ is a local homeomorphism, so we obtain that $f=(1/w)^{D(P)+1}$ has a pole on $P$ of order exactly $D(P)+1$ and it is holomorphic everywhere else. Thus, $\beta_W(f)=c \neq 0$ and, since it is a homomorphism of vector spaces over $\mathbb{C}$, we conclude that $\beta_W$ is surjective by taking any $d \in \mathbb{C}$ and doing $$\beta_W(\textstyle\frac{d}{c}f) = d.$$