Business Client need Software Development
Contact person: Business Client
Phone:Show
Email:Show
Location: delmas, South Africa
Budget: Recommended by industry experts
Time to start: As soon as possible
Project description:
"1. OBJECTIVE
------------
Create a self-contained, portable PDF viewer application that uses the
Adobe Acrobat 7 (AcroPDF) ActiveX control already installed on the host
system. The application must not require installation, registry writes,
admin rights, or modifications to Adobe software. It must run from any
folder (USB drive, network, local disk) on Windows 7, 10, and 11.
The viewer will load and display PDF files, provide standard navigation
and printing, and integrate cleanly into an existing C++Builder project.
2. FUNCTIONAL REQUIREMENTS
--------------------------
2.1 PDF VIEWING CAPABILITIES
- Load PDF from a full file path
- Display PDF inside embedded ActiveX control
- Zoom in / Zoom out
- Fit page / Fit width modes
- Navigate pages (first, last, next, previous, go to page)
- Scroll using keyboard and mouse wheel
2.2 PDF PRINTING
- Print the currently loaded PDF
- Use ActiveX print interface where available
- Silent print optional (only if supported by the installed Adobe version)
- Otherwise use system print dialog
2.3 FILE HANDLING
- Check if the PDF exists before loading
- Reject corrupted or invalid PDFs
- Handle Unicode paths
- Support long file names and removable drives
- Handle permissions errors with clear messages
3. TECHNICAL REQUIREMENTS
-------------------------
3.1 PORTABILITY (NO INSTALLATION)
- Application must run without installation
- No registry writes required by the application
- No services or background tasks
- No files written outside the application folder
- All settings stored in a local INI or XML file
The program may use the existing Adobe ActiveX registration already
present on the host PC (legal and safe).
3.2 ADOBE READER DETECTION
The program must detect:
- Installed Adobe Reader version (7 through DC)
- Whether "[login to view URL]" is present
- Whether the ActiveX control is registered
- If missing → display instructions for installation
No redistribution of Adobe components is allowed.
3.3 ACTIVE X INTEGRATION
The application must embed the Acrobat ActiveX control.
All required methods must be supported:
REQUIRED METHODS:
- LoadFile(path)
- SetZoom()
- gotoFirstPage()
- gotoLastPage()
- gotoNextPage()
- gotoPreviousPage()
- printAll() (optional depending on version)
REQUIRED EVENT HANDLING:
- OnError or equivalent
3.4 UNICODE & PATH SUPPORT
The viewer must:
- Support Unicode paths (UTF-16)
- Handle long paths (>260 characters where supported)
- Sanitize all file paths before use
- Store recent file paths safely if needed
3.5 APPLICATION ARCHITECTURE
Modules required:
1. MainForm
- Visual container for the PDF view
- Toolbar with navigation + zoom + print
- DPI-aware layout
2. PDFView module
- COM initialization and shutdown
- ActiveX handling
- Error catching and reporting
3. Settings module
- Load/save settings to INI in local folder
- Remember last zoom level and window size
4. Logger module
- Write to [login to view URL] (stored next to EXE)
- All critical operations logged
4. PORTABILITY REQUIREMENTS
---------------------------
Allowed in program folder:
- EXE file
- DLL files (custom, not Adobe)
- INI / XML settings file
- LOG file
Not allowed:
- Shipping or embedding Adobe DLLs
- Modifying Acrobat binaries
- Virtualized Adobe distributions (ThinApp, Cameyo, etc.)
The viewer must:
- Run from USB, network share, or local folder
- Not depend on registry entries created by the viewer
- Not require administrator privileges
5. OS COMPATIBILITY REQUIREMENTS
--------------------------------
The viewer must run on:
- Windows 7 (32/64-bit)
- Windows 10 (32/64-bit)
- Windows 11 (64-bit)
The coder must implement:
- High DPI support
- Application manifest for Windows 10/11
- Per-monitor DPI awareness
- Proper scaling of the ActiveX control
- Unicode file APIs
6. ERROR HANDLING REQUIREMENTS
------------------------------
Application must show user-friendly messages for:
- Missing Adobe Reader or unregistered ActiveX
- File not found
- Corrupted or invalid PDF
- Permission denied
- LoadFile() failure
- Printing errors
All errors must be logged to "[login to view URL]" in the application folder.
7. DELIVERABLES FROM CODER
--------------------------
The coder must provide:
1. Complete source code
2. Full project folder (C++Builder 6 or newer)
3. All .cpp, .h, .dfm, .bpr/.cbproj files
4. A working compiled EXE
5. PDF viewer fully functioning without installation
6. [login to view URL] including:
- Build instructions
- Adobe detection logic
- Explaining COM usage and ActiveX wrapper
- How to update to newer Adobe versions
Optional deliverables if requested:
- Batch script for detection of system Adobe installation
- Alternative fallback PDF engine (MuPDF or PDFium)
8. OPTIONAL FEATURES (IF REQUIRED)
----------------------------------
These features can be requested separately:
- Dark mode user interface
- Portable in-memory PDF renderer (no Acrobat needed)
- Command-line “v" (client-provided description)
Matched companies (2)

Appeonix Creative Lab
