How to export arbitrary number of plots to separate pages of a PDF file?

I have 8 plot, just for sample data

p1 = Plot[x, {x, 1, 5}];
p2 = Plot[x^2, {x, 1, 5}];
p3 = Plot[x^3, {x, 1, 5}];
p4 = Plot[x^4, {x, 1, 5}];
p5 = Plot[x^5, {x, 1, 5}];
p6 = Plot[x^6, {x, 1, 5}];
p7 = Plot[x^7, {x, 1, 5}];
p8 = Plot[x^8, {x, 1, 5}];

which I want to export in PDF as 4 plots in each page. So I tried

g1=GraphicsGrid[{{p1, p2}, {p3, p4}}];
g2=GraphicsGrid[{{p5, p6}, {p7, p8}}];
Export["plot.pdf", {g1, g2}]

where p's are my plots. However this code produces a PDF file as all plots are in a single page. I searched Mathematica SE and just found

nb = CreateDocument[ExpressionCell[#, PageBreakBelow -> True] & /@ g1];
Export["plots.pdf", nb]

but this didn't work or maybe I didn't know how to use it. Any idea?

Clear["Global*"]

plts = Plot[x^#, {x, 1, 5}] & /@ Range;

nb = CreateDocument[
ExpressionCell[#, PageBreakBelow -> True] & /@ (GraphicsGrid /@
ArrayReshape[plts, {2, 2, 2}])];

EDIT: If instead of 2 by 2 arrays you want 4 by 1 arrays

plts = Plot[x^#, {x, 1, 5},
PlotLabel -> StringForm["n = `", #]] & /@ Range;

nb = CreateDocument[
ExpressionCell[#,
PageBreakBelow -> True] & /@ (GraphicsGrid[#, ImageSize -> 360] & /@
ArrayReshape[plts, {2, 4, 1}])];