; #FUNCTION# ====================================================================================================================
; Name ..........: _QPDF_Page_2in1
; Description ...: TODO
; Syntax ........: _QPDF_Page_2in1(Byref $oQP[, $bAddSplitter = False[, $bReverseUpDown = False[, $bTurnRight = True]]])
; Parameters ....: $oQP - [in/out] Reference to a QuickPDF object.
; $bAddSplitter - [optional] A boolean value. Default is False.
; $bReverseUpDown - [optional] A boolean value. Default is False.
; $bTurnRight - [optional] a boolean value. Default is True.
; Return values .: TODO
; Author ........: mLipok
; Modified ......:
; Remarks .......:
; Related .......:
; Link ..........:
; Example .......: No
; ===============================================================================================================================
Func _QPDF_Page_2in1(ByRef $oQP, $bAddSplitter = False, $bReverseUpDown = False, $bTurnRight = True)
__QPDF_IsUnlocked($oQP)
If @error Then Return SetError(@error, @extended, $QPDF_RET_FAILURE)
;~ _QPDF_Display() - only for testing - This is my own function
;~ _QPDF_Display($oQP, 'Loaded document 1 - Page 1', -1, 0, 600, 1)
;~ _QPDF_Display($oQP, 'Loaded document 1 - Page 2', -1, 0, 600, 2)
Local $iOrginalPageCount = $oQP.PageCount()
Local $iNewPageCounter = 0
Local $bNewPageHaveDrawedTopOfPage = False ; 1 = true , 0 = false
Local $iID_CapturedPage
If Not $iOrginalPageCount > 1 Then Return SetError($QPDF_ERR_GENERAL, $QPDF_EXT_DEFAULT, 0)
For $iCurrentPage = 1 To $iOrginalPageCount
; MsgBox() - only for testing
; MsgBox(0, '$iCurrentPage', $iCurrentPage & ' / ' & $iOrginalPageCount)
If Not $bNewPageHaveDrawedTopOfPage Then
$oQP.NewPage()
$oQP.NormalizePage(0)
$iNewPageCounter += 1
$oQP.MovePage($iNewPageCounter)
$oQP.SetPageSize('A4')
$oQP.SetMeasurementUnits($__eQPDF_MUNITS_Milimeters)
If $bAddSplitter Then
$oQP.SetLineWidth(1)
$oQP.SetLineColor(1, 0, 0)
; @TODO _QPDF_SetDefaultCoordinates($oQP)
$oQP.DrawLine(0, $__eQPDF_A4_HeightInMM / 2, $__eQPDF_A4_WidthInMM, $__eQPDF_A4_HeightInMM / 2)
; MsgBox() - only for testing
; MsgBox(0, '$oQP.GetOrigin', $oQP.GetOrigin())
EndIf
EndIf
;~ _QPDF_Display() - only for testing - This is my own function
;~ _QPDF_Display($oQP, 'Page: $iCurrentPage + $iNewPageCounter: ' & $iCurrentPage & '/' & $iNewPageCounter & '/' & $iNewPageCounter + 1, $iNewPageCounter + 1)
$iID_CapturedPage = $oQP.CapturePage($iNewPageCounter + 1)
; select Page to which you want Insert content - Draw Captutred Page
$oQP.SelectPage($iNewPageCounter)
$oQP.NormalizePage(0)
#CS
Foxit Quick PDF Library 13.12 Reference Guide.pdf
Function DebenuPDFLibrary1312.PDFLibrary::DrawRotatedCapturedPage(
CaptureID As Long, Left As Double, Bottom As Double,
Width As Double, Height As Double, Angle As Double) As Long
Note that the anchor point is the bottom-left corner
#CE
ConsoleWrite("! " & $bNewPageHaveDrawedTopOfPage & " " & $bReverseUpDown & @CRLF)
If $bTurnRight Then
If _
($bNewPageHaveDrawedTopOfPage = False And $bReverseUpDown = False) _
Or _
($bNewPageHaveDrawedTopOfPage = True And $bReverseUpDown = True) _
Then
; draw on top of page
$oQP.DrawRotatedCapturedPage( _
$iID_CapturedPage, 0, $__eQPDF_A4_HeightInMM, _
$__eQPDF_A4_HeightInMM / 2, $__eQPDF_A4_WidthInMM, 270 _
)
$bNewPageHaveDrawedTopOfPage = (Not $bReverseUpDown)
Else
; draw on bootom of page
$oQP.DrawRotatedCapturedPage( _
$iID_CapturedPage, 0, $__eQPDF_A4_HeightInMM / 2, _
$__eQPDF_A4_HeightInMM / 2, $__eQPDF_A4_WidthInMM, 270 _
)
$bNewPageHaveDrawedTopOfPage = ($bReverseUpDown)
EndIf
Else
If _
($bNewPageHaveDrawedTopOfPage = False And $bReverseUpDown = False) _
Or _
($bNewPageHaveDrawedTopOfPage = True And $bReverseUpDown = True) _
Then
; draw on top of page
$oQP.DrawRotatedCapturedPage( _
$iID_CapturedPage, $__eQPDF_A4_WidthInMM, $__eQPDF_A4_HeightInMM / 2, _
$__eQPDF_A4_HeightInMM / 2, $__eQPDF_A4_WidthInMM, 90 _
)
$bNewPageHaveDrawedTopOfPage = (Not $bReverseUpDown)
Else
; draw on bootom of page
$oQP.DrawRotatedCapturedPage( _
$iID_CapturedPage, $__eQPDF_A4_WidthInMM, 0, _
$__eQPDF_A4_HeightInMM / 2, $__eQPDF_A4_WidthInMM, 90 _
)
$bNewPageHaveDrawedTopOfPage = ($bReverseUpDown)
EndIf
EndIf
Next
;~ _QPDF_Display($oQP, 'After Change', -1, 0, 600, 1)
EndFunc ;==>_QPDF_Page_2in1