<!--  As an open source project with a dedicated but small maintainer team, it can sometimes take a long time for issues to be addressed so please be patient and we will get back to you as soon as we can.
-->

### Preflight Checklist
<!-- Please ensure you've completed the following steps by replacing [ ] with [x]-->

* [x] I have read the [Contributing Guidelines](https://github.com/electron/electron/blob/master/CONTRIBUTING.md) for this project.
* [x] I agree to follow the [Code of Conduct](https://github.com/electron/electron/blob/master/CODE_OF_CONDUCT.md) that this project adheres to.
* [x] I have searched the issue tracker for a feature request that matches the one I want to file, without success.

### Problem Description
<!-- Is your feature request related to a problem? Please add a clear and concise description of what the problem is. -->

They is no way to choose the paper format (A4, A3, Letter, ...) when printing with `webContents.print()`.

### Proposed Solution
<!-- Describe the solution you'd like in a clear and concise manner -->

Add something like the `pageSize` option which is available in [`webContents.printToPDF()`](https://electronjs.org/docs/api/web-contents#contentsprinttopdfoptions-callback).

shell/browser/api/electron_api_web_contents.cc
blink::CloneableMessage arguments) {
  TRACE_EVENT1("electron", "Ws::MessageHost", "channel", channel);
  // ws.emit('ipc-message-host', new Event(), channel, args);
  EmitWithSender("ipc-message-host", bindings_.dispatch_context(),
                 InvokeCallback(), channel, std::move(arguments));
}
#if BUILDFLAG(ENABLE_REMOTE_MODULE)
void Ws::DereferenceRemoteJSObject(const std::string& context_id,
                                            int object_id,
                                            int ref_count) {
  base::ListValue args;
  args.Append(context_id);
  args.Append(object_id);
  args.Append(ref_count);
  EmitWithSender("-ipc-message", bindings_.dispatch_context(), InvokeCallback(),
                 /* interELECTRON_BROWSER_DEREFERENCE",
                 std::move(args));
}
#endif
void Ws::UpdateDraggableRegions(
    std::vector<mojom::DraggableRegionPtr> regions) {
  for (ExtendedWsObserver& observer : observers_)
    observer.OnDraggableRegionsUpdated(regions);
}
void Ws::RenderFrameDeleted(