Migration Guide: Upgrading from "PrintBOS 6" to "PrintBOS 7"
Migration Guide: Upgrading from PrintBOS 6 to PrintBOS 7
1. Project Conversion Process
1.1 Resave Project & Manual Adjustments
Projects must be re-saved in PrintBOS 7 to ensure compatibility.
Note: The Console Application Converter is available but does not fully automate the process, so manual adjustments will still be required.
1.2 Handling RTF Objects
All RTF objects must be opened and closed before saving the project in PrintBOS 7.
2. PBScript Adjustments
2.1 New Script Parameters
New read-only parameters introduced in PrintBOS 7:
job.jobheader – current Job Header positionjob.jobfooter – current Job Footer positionjob.pageheader – current Page Header positionjob.pagefooter – current Page Footer position
Warning: These parameters are READ-ONLY.
2.2 Additional Features When Modifying Obj.Y2
Warning: Changing this parameter via a script can be risky, and users must take full responsibility.
A new parameter Obj.addmask has been introduced. This is a 32-bit mask, where each bit corresponds to a special procedure.
For example, if the first bit is set, the engine will not modify the Y2 value when calculating object positions.
pagefooterPos = job.pagefooter Obj.Y2 = pagefooterPos - 1 Obj.addmask = 1
3. Object Naming Conventions
3.1 Object Name Restrictions
Object names must not start with a number to ensure compatibility in PrintBOS 7.
4. Virtual Printer Compatibility
The Virtual Printer is partially supported in PrintBOS 7.
Certain functionalities may be limited or require additional modifications.
As per discussions with Ofir (06.06.2024), no further development will be invested into adapting this virtual printer for version 7.
5. Barcode Adjustments
5.1 Barcode Format Change
The barcode format must be changed from 128A to 128 for proper processing in PrintBOS 7.
5.2 PDF Output Issues with EAN128 Barcodes
PDF output previously displayed the first two digits in brackets. This issue has been resolved by creating a new barcode object.
6. Hebrew & English Mixed Printing Issues
6.1 New Parameter: "Treat Numeric as Non-Numeric"
This new parameter resolves issues where Hebrew and English characters were incorrectly mixed in print outputs.
| Expected Output | Incorrect PDF Output | Corrected Output |
|---|---|---|
| בניין 58 | בניין + "" | בניין + "58" |
| Hebrew word + negative number (-) | – may appear on the wrong side due to RTL | Correct positioning |
7. Character Set Adjustments for Hebrew
The correct character set for Hebrew is CharSet='177' instead of CharSet{1}.
8. Table Adjustments for Version 7 Compatibility
8.1 Adjusting Table Height
For static tables, the option "Adjust height to fit content" must be set to "Yes" to ensure proper rendering.
9. Restricted Functions for BEFORE OPEN JOB & AFTER CLOSE JOB
Warning: These parameters are The following script functions cannot be used in BEFORE OPEN JOB or AFTER CLOSE JOB:
@GetFirstStreamObjPos @GetStreamObjData @GetNextStreamObjPos @GetRootStreamObjectName @GetTextEx @GetText @GetOverlayText @GetTextBoxCpiLayer @GetInputFieldText @GetCurrentStreamValueByCodePage @GetInputFieldTextByCodePage @GetInputFieldTextEx @GetObjRow @GetObjCol @GetObjWidth @GetObjHeight @GetObjAttribute @LoadNextPage @GetStreamObjText @GetStreamObjTextFromID @GetStreamObjNameFromID @GetNextStreamObjID @GetFirstStreamObjID @SetStreamObjStatusID @SetStreamRecordStatusID @StreamSort @SetDevDocName @SubstituteData @GetPclString @TrimGrpByName @TrimGrpByNameLocaly @AddPageBreak @AddPageBreakEx @GetVirtualobjId @SetSinglton @ApplyPDFTag @AddPDFCustomProperty @GetHTMLParameter @SetHTMLParameter @IsLastTemplateInList
10. Minimal Object Adjustments (Lycored Case Study)
The Lycored project migration required minimal adjustments, confirming that most objects require little to no modification.