以下、ドキュメントを読んでの推測ですが、助けになれば。
Googleドキュメントで、ページは PageBreak で区切られるもののようです。
なので、あるページをコピーするには、Body が持つ要素を順に取得し、次のPageBreakが現れるまで要素のコピーを繰り返せば良さそうです。
Bodyが持つ要素の数は getNumChildren で取れそうです。
そしてインデックスを指定して getChild で要素を取得できます。
要素elementがPageBreakかどうかは element.getType() == DocumentApp.ElementType.PAGE_BREAK で判定できます。
BodyはListItem、Paragraph、Tableを持つことができる、とあるので、PageBreakはそれらの下にあって、つまりBodyの子要素の中の子要素の中にPageBreakがあるかどうかをスキャンしなければならなそうな気もするのですが、BodyにもappendPageBreakといったメソッドもあるので、Bodyが直接の子要素としてPageBreakを持つこともあり得そう…。
実際のドキュメントがどのように構成されているかによってそのあたりどう処理するべきかは変わりそうです。
2021/11/11 02:21