In a food processor, pulse the flour, salt and butter until pea-sized pieces form. Add the water and eggs. Pulse again until a ball starts to form. Remove the dough from the processor. Shape into two discs. Cover in plastic wrap and refrigerate for 30 minutes.
With the rack in the lowest position, preheat the oven to 425°F (220°C). Line two baking sheets with parchment paper.
Place the salmon on the first baking sheet. Season with salt and pepper. Drizzle with the olive oil, cover with the dill and lemon slices. Bake for 8 minutes. The salmon will still be raw, but the seasoning will have nicely flavoured the flesh. Remove the herbs and lemon. Set the salmon aside.
In a large skillet over medium-high heat, wilt the spinach in the butter. Season with salt and pepper. With a sieve, drain the spinach, pressing to squeeze out any excess liquid. Set aside.
On a floured work surface, roll out both discs of dough to the same shape as the salmon fillet, but larger in size, and to a thickness of about ¼ inch (5 mm) each.
Place one piece of dough on the second baking sheet. Place the fish in the centre of the dough. Cover the fish with the spinach. Sprinkle with the pine nuts and cranberries. Place the hard-boiled eggs lengthwise down the centre of the fillet, pushing the filling up slightly to stabilize the eggs. Brush the edges of the dough with the beaten egg. Cover with the second piece of dough and crimp the edges to seal the pastry. Trim any excess dough. Brush with the beaten egg.
Roll out the dough scraps to a thickness of about 1/8 inch (3 mm). Cut the dough into ¼-inch (5 mm) wide strips. Place the strips on the pastry in a pattern of your choice. Brush with a little beaten egg. Make three incisions in the top of the pastry, between two eggs, to allow steam to escape during cooking.
Bake for about 40 minutes or until the crust is golden brown. Let rest for 10 minutes before serving.
Slice the pastry through the centre of the eggs. If desired, serve with Hollandaise Sauce.