interface ICoreWebView2PrintSettings2
Note
This reference is no longer being maintained. For the latest API reference, see WebView2 API Reference.
interface ICoreWebView2PrintSettings2
: public ICoreWebView2PrintSettings
Settings used by the Print
method.
Members | Descriptions |
---|---|
get_Collation | Printer collation. |
get_ColorMode | Printer color mode. |
get_Copies | Number of copies to print. |
get_Duplex | Printer duplex settings. |
get_MediaSize | Printer media size. |
get_PageRanges | Page range to print. |
get_PagesPerSide | Prints multiple pages of a document on a single piece of paper. |
get_PrinterName | The name of the printer to use. |
put_Collation | Set the Collation property. |
put_ColorMode | Set the ColorMode property. |
put_Copies | Set the Copies property. |
put_Duplex | Set the Duplex property. |
put_MediaSize | Set the MediaSize property. |
put_PageRanges | Set the PageRanges property. |
put_PagesPerSide | Set the PagesPerSide property. |
put_PrinterName | Set the PrinterName property. |
Product | Introduced |
---|---|
WebView2 Win32 | 1.0.1518.46 |
WebView2 Win32 Prerelease | 1.0.1549 |
Printer collation.
public HRESULT get_Collation(COREWEBVIEW2_PRINT_COLLATION * value)
See COREWEBVIEW2_PRINT_COLLATION
for descriptions of collation. The default value is COREWEBVIEW2_PRINT_COLLATION_DEFAULT
.
Printing uses default value of printer's collation if an invalid value is provided for the specific printer.
This value is ignored in PrintToPdfStream method.
Printer color mode.
public HRESULT get_ColorMode(COREWEBVIEW2_PRINT_COLOR_MODE * value)
See COREWEBVIEW2_PRINT_COLOR_MODE
for descriptions of color modes. The default value is COREWEBVIEW2_PRINT_COLOR_MODE_DEFAULT
.
Printing uses default value of printer supported color if an invalid value is provided for the specific printer.
Number of copies to print.
public HRESULT get_Copies(INT32 * value)
Minimum value is 1
and the maximum copies count is 999
. The default value is 1.
This value is ignored in PrintToPdfStream method.
Printer duplex settings.
public HRESULT get_Duplex(COREWEBVIEW2_PRINT_DUPLEX * value)
See COREWEBVIEW2_PRINT_DUPLEX
for descriptions of duplex. The default value is COREWEBVIEW2_PRINT_DUPLEX_DEFAULT
.
Printing uses default value of printer's duplex if an invalid value is provided for the specific printer.
This value is ignored in PrintToPdfStream method.
Printer media size.
public HRESULT get_MediaSize(COREWEBVIEW2_PRINT_MEDIA_SIZE * value)
See COREWEBVIEW2_PRINT_MEDIA_SIZE
for descriptions of media size. The default value is COREWEBVIEW2_PRINT_MEDIA_SIZE_DEFAULT
.
If media size is COREWEBVIEW2_PRINT_MEDIA_SIZE_CUSTOM
, you should set the PageWidth
and PageHeight
.
Printing uses default value of printer supported media size if an invalid value is provided for the specific printer.
This value is ignored in PrintToPdfStream method.
Page range to print.
public HRESULT get_PageRanges(LPWSTR * value)
Defaults to empty string, which means print all pages. If the Page range is empty string or null, then it applies the default.
The PageRanges property is a list of page ranges specifying one or more pages that should be printed separated by commas. Any whitespace between page ranges is ignored. A valid page range is either a single integer identifying the page to print, or a range in the form [start page]-[last page]
where start page
and last page
are integers identifying the first and last inclusive pages respectively to print. Every page identifier is an integer greater than 0 unless wildcards are used (see below examples). The first page is 1.
In a page range of the form [start page]-[last page]
the start page number must be larger than 0 and less than or equal to the document's total page count. If the start page
is not present, then 1 is used as the start page
. The last page
must be larger than the start page
. If the last page
is not present, then the document total page count is used as the last page
.
Repeating a page does not print it multiple times. To print multiple times, use the Copies
property.
The pages are always printed in ascending order, even if specified in non-ascending order.
If page range is not valid or if a page is greater than document total page count, ICoreWebView2PrintCompletedHandler or ICoreWebView2PrintToPdfStreamCompletedHandler handler will return E_INVALIDARG
.
The following examples assume a document with 20 total pages.
Example | Result | Notes |
---|---|---|
"2" | Page 2 | |
"1-4, 9, 3-6, 10, 11" | Pages 1-6, 9-11 | |
"1-4, -6" | Pages 1-6 | The "-6" is interpreted as "1-6". |
"2-" | Pages 2-20 | The "2-" is interpreted as "pages 2 to the end of the document". |
"4-2, 11, -6" | Invalid | "4-2" is an invalid range. |
"-" | Pages 1-20 | The "-" is interpreted as "page 1 to the end of the document". |
"1-4dsf, 11" | Invalid | |
"2-2" | Page 2 |
The caller must free the returned string with CoTaskMemFree
. See API Conventions
Prints multiple pages of a document on a single piece of paper.
public HRESULT get_PagesPerSide(INT32 * value)
Choose from 1, 2, 4, 6, 9 or 16. The default value is 1.
The name of the printer to use.
public HRESULT get_PrinterName(LPWSTR * value)
Defaults to empty string. If the printer name is empty string or null, then it prints to the default printer on the user OS.
This value is ignored in PrintToPdfStream method.
The caller must free the returned string with CoTaskMemFree
. See API Conventions
Set the Collation
property.
public HRESULT put_Collation(COREWEBVIEW2_PRINT_COLLATION value)
Set the ColorMode
property.
public HRESULT put_ColorMode(COREWEBVIEW2_PRINT_COLOR_MODE value)
Set the Copies
property.
public HRESULT put_Copies(INT32 value)
Returns E_INVALIDARG
if an invalid value is provided and the current value is not changed.
Set the Duplex
property.
public HRESULT put_Duplex(COREWEBVIEW2_PRINT_DUPLEX value)
Set the MediaSize
property.
public HRESULT put_MediaSize(COREWEBVIEW2_PRINT_MEDIA_SIZE value)
Set the PageRanges
property.
public HRESULT put_PageRanges(LPCWSTR value)
Set the PagesPerSide
property.
public HRESULT put_PagesPerSide(INT32 value)
Returns E_INVALIDARG
if an invalid value is provided, and the current value is not changed.
Below examples shows print output for PagesPerSide and Duplex.
PagesPerSide | Total pages | Two-sided printing | Result |
---|---|---|---|
1 | 1 | - | 1 page on the front side. |
2 | 1 | Yes | 1 page on the front side. |
2 | 4 | - | 2 pages on the first paper and 2 pages on the next paper. |
2 | 4 | Yes | 2 pages on the front side and 2 pages on back side. |
4 | 4 | Yes | 4 pages on the front side. |
4 | 8 | Yes | 4 pages on the front side and 4 pages on the back side. |
Set the PrinterName
property.
public HRESULT put_PrinterName(LPCWSTR value)
If provided printer name doesn't match with the name of any installed printers on the user OS, ICoreWebView2PrintCompletedHandler handler will return errorCode
as S_OK
and printStatus
as COREWEBVIEW2_PRINT_STATUS_PRINTER_UNAVAILABLE.
Use Enum Printers to enumerate available printers.