unioffice/utils/utils.go
2024-05-08 13:54:39 +00:00

19 lines
1.1 KiB
Go

//
// Copyright 2020 FoxyUtils ehf. All rights reserved.
//
// This is a commercial product and requires a license to operate.
// A trial license can be obtained at https://unidoc.io
//
// DO NOT EDIT: generated by unitwist Go source code obfuscator.
//
// Use of this source code is governed by the UniDoc End User License Agreement
// terms that can be accessed at https://unidoc.io/eula/
package utils ;import (_g "bytes";_a "github.com/unidoc/unioffice/document";_dc "github.com/unidoc/unioffice/document/convert";_b "github.com/unidoc/unipdf/v3/model";);
// GetNumPages will try to get actual document page count by converting the document to a PDF first
// and then get the actual page count from the PDF result.
//
// WARNING: This method is currently in experimental state as the PDF result might have incorrect page count.
func GetNumPages (d *_a .Document )(int ,error ){var _c _g .Buffer ;_dcb :=_dc .ConvertToPdf (d );if _bd :=_dcb .Write (&_c );_bd !=nil {return 0,_bd ;};_bg ,_gf :=_b .NewPdfReader (_g .NewReader (_c .Bytes ()));if _gf !=nil {return 0,_gf ;};_f ,_gf :=_bg .GetNumPages ();
if _gf !=nil {return 0,_gf ;};return _f ,nil ;};