ಡೆವಲಪರ್ಗಳು PDF ವೀವರ್ಗಳನ್ನು (viewers) ಸತತವಾಗಿ ಕಡಿಮೆ ಅಂದಾಜಿಸುತ್ತಾರೆ. ಇದು ಕೇವಲ ಒಂದು ಸರಳವಾದ 'ಫೈಲ್-ಇನ್-ಎ-ಬಾಕ್ಸ್' ಸಮಸ್ಯೆ ಎಂದು ತೋರುತ್ತದೆ. ನೀವು ಬೈಟ್ಗಳನ್ನು (bytes) ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ, ಒಂದು ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು URL ಗೆ ತೋರಿಸುತ್ತೀರಿ ಮತ್ತು ಕೆಲಸ ಮುಗಿದಿದೆ ಎಂದು ಭಾವಿಸುತ್ತೀರಿ. Vue.js ಹೆಚ್ಚಿನ UI ಕೆಲಸಗಳನ್ನು ಇಷ್ಟೇ ಸರಳವಾಗಿರುವಂತೆ ಮಾಡುತ್ತದೆ, ಆದರೆ ಪ್ರೊಡಕ್ಷನ್-ರೆಡಿ (production-ready) PDF ವೀವರ್ ಎಂಬುದು ಇಡೀ ಸ್ಪ್ರಿಂಟ್ಗಳನ್ನೇ (sprints) ಬಳಸಿಕೊಳ್ಳುವಂತಹ ಒಂದು ಫೀಚರ್ ಆಗಿದೆ. ನಾನು ಎರಡು ವಾರಗಳಲ್ಲಿ ಒಂದೇ ವೀವರ್ ಅನ್ನು ನಾಲ್ಕು ವಿಭಿನ್ನ ರೀತಿಯಲ್ಲಿ ನಿರ್ಮಿಸಿದೆ. ಪ್ರತಿಯೊಂದು ಪ್ರಯತ್ನವೂ ಒಂದೇ ವಿಷಯವನ್ನು ಒತ್ತಿಹೇಳಿತು: ನೀವು ಸೋಮವಾರ ಆಯ್ಕೆ ಮಾಡುವ ಲೈಬ್ರರಿಯೇ ನೀವು ಎರಡು ತಿಂಗಳ ನಂತರ ಯಾವ ಬಗ್ಗಳನ್ನು (bugs) ಸರಿಪಡಿಸಬೇಕಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
The Outdated Tutorial Trap
ಹೆಚ್ಚಿನ ಮಾರ್ಗದರ್ಶಿಗಳು (guides) ಇಂದಿಗೂ Vue 2 ಡೀಫಾಲ್ಟ್ ಆಗಿದ್ದಾಗ ಕೊನೆಯದಾಗಿ ಅಪ್ಡೇಟ್ ಮಾಡಲ್ಪಟ್ಟ ಲೈಬ್ರರಿಗಳನ್ನೇ ಶಿಫಾರಸು ಮಾಡುತ್ತವೆ. ಒಬ್ಬ ಡೆವಲಪರ್ README ಅನ್ನು ವೇಗವಾಗಿ ಓದಿ, ಇನ್ಸ್ಟಾಲ್ ಕಮಾಂಡ್ ರನ್ ಮಾಡಿ, ಕಷ್ಟದ ಕೆಲಸ ಮುಗಿದಿದೆ ಎಂದು ಭಾವಿಸುತ್ತಾನೆ. ವಾಸ್ತವದಲ್ಲಿ, ಕಷ್ಟದ ಕೆಲಸ ಈಗಷ್ಟೇ ಪ್ರಾರಂಭವಾಗಿದೆ. ನಿಮಗೆ ಸರ್ಚ್ (search) ಅಗತ್ಯವಿರುತ್ತದೆ. ಬ್ರೌಸರ್ ಟ್ಯಾಬ್ ಕ್ರ್ಯಾಶ್ ಆಗದಂತೆ 400 ಪುಟಗಳ ಪಾಲಿಸಿ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ನಿರ್ವಹಿಸಬೇಕಾಗುತ್ತದೆ. ಮೊಬೈಲ್ ಬಳಸುವ ಯಾರೋ ಒಬ್ಬರು 'ಪಿಂಚ್-ಟು-ಜೂಮ್' (pinch-to-zoom) ಯಾಕೆ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತಿಲ್ಲ ಎಂದು ಕೇಳಬಹುದು. README ಸಾಮಾನ್ಯವಾಗಿ ಇವುಗಳ ಬಗ್ಗೆ ಎಚ್ಚರಿಸುವುದಿಲ್ಲ, ಏಕೆಂದರೆ ಅದರ ಡೆಮೊ ಕೇವಲ ಐದು ಪುಟಗಳ ಅಕಾಡೆಮಿಕ್ ಪೇಪರ್ನ ಮೊದಲ ಪುಟವನ್ನು ಮಾತ್ರ ತೋರಿಸುತ್ತದೆ.
The Four Approaches
Vue ಗಾಗಿ ಒಂದೇ ಒಂದು ಅತ್ಯುತ್ತಮ PDF ಲೈಬ್ರರಿ ಎಂಬುದು ಇಲ್ಲ. ನಿಮ್ಮ ಬಳಕೆದಾರರು ವಾಸ್ತವವಾಗಿ ಏನು ಮಾಡಲು ಪ್ರಯತ್ನಿಸುತ್ತಿದ್ದಾರೆ ಎಂಬುದಕ್ಕೆ ತಕ್ಕಂತೆ ಅತ್ಯುತ್ತಮವಾದದ್ದನ್ನು ಮಾತ್ರ ನೀವು ಆಯ್ಕೆ ಮಾಡಬಹುದು.
PDF.js: The DIY Path
Mozilla ನ PDF.js ಎಂಬುದು ಬಹುತೇಕ ಎಲ್ಲಾ ವೆಬ್-ಆಧಾರಿತ ವೀವರ್ಗಳ ಹಿಂದಿರುವ ಇಂಜಿನ್ ಆಗಿದೆ. ಇದನ್ನು Vue 3 ಆಪ್ಗೆ ಸೇರಿಸುವುದು ಎಂದರೆ ಕೇವಲ ಒಂದು ಕಾಂಪೊನೆಂಟ್ ಅನ್ನು ಇನ್ಸ್ಟಾಲ್ ಮಾಡುವುದು ಎಂದಲ್ಲ; ಬದಲಾಗಿ ಒಂದು ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ಅಳವಡಿಸಿಕೊಳ್ಳುವುದು ಎಂದರ್ಥ. ನೀವು getDocument ಮೂಲಕ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ಪಡೆದುಕೊಳ್ಳುತ್ತೀರಿ, ಪ್ರತಿ ಪುಟವನ್ನು <canvas> ಎಲಿಮೆಂಟ್ಗೆ ರೆಂಡರ್ ಮಾಡುತ್ತೀರಿ ಮತ್ತು ಆ ಕ್ಯಾನ್ವಾಸ್ಗಳನ್ನು ನಿಮ್ಮ ಟೆಂಪ್ಲೇಟ್ಗೆ ಜೋಡಿಸುತ್ತೀರಿ. ಮೊದಲ ದಿನ ನೀವು ಉತ್ಪಾದಕತೆಯನ್ನು ಅನುಭವಿಸುತ್ತೀರಿ. ಮೂರನೇ ದಿನದ ಹೊತ್ತಿಗೆ, ನೀವು Vite bundling ಮತ್ತು CORS headers ಗಳೊಂದಿಗೆ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡಲು ವರ್ಕರ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತಿರುತ್ತೀರಿ.
ನೈಸರ್ಗಿಕ ಬ್ರೌಸರ್ ಸ್ಕ್ರೋಲ್ ಹತ್ತು ಪುಟಗಳಿಗೆ ಸರಿಯಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ಸಾವಿರ ಪುಟಗಳಿದ್ದಾಗ ಅದು ನಿಧಾನವಾಗುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು ವರ್ಚುವಲ್ ಸ್ಕ್ರೋಲಿಂಗ್ (virtual scrolling) ಅನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ. ನಂತರ ಪಠ್ಯವನ್ನು (text) ಆಯ್ಕೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನೀವು ಗಮನಿಸುತ್ತೀರಿ, ಆದ್ದರಿಂದ ನೀವು ಪ್ರತಿ ಕ್ಯಾನ್ವಾಸ್ನ ಮೇಲೆ ಪಾರದರ್ಶಕ ಟೆಕ್ಸ್ಟ್ ಡಿವ್ಗಳನ್ನು (transparent text divs) ಇರಿಸುತ್ತೀರಿ. ಪ್ರಿಂಟಿಂಗ್ ಮಸುಕಾಗಿ ಕಾಣಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನೀವು DPI ಸೆಟ್ಟಿಂಗ್ಗಳು ಮತ್ತು ಮೀಡಿಯಾ ಕ್ವೆರಿಗಳ (media queries) ಹಿಂದೆ ಹೋಗುತ್ತೀರಿ. ಮೊಬೈಲ್ ಪಿಂಚ್-ಟು-ಜೂಮ್ ಬ್ರೌಸರ್ನ ನೈಸರ್ಗಿಕ ಗೆಸ್ಚರ್ ಹ್ಯಾಂಡ್ಲಿಂಗ್ನೊಂದಿಗೆ (native gesture handling) ಸಂಘರ್ಷ ಮಾಡುತ್ತದೆ. ಕ್ರಾಸ್-ಡಾಕ್ಯುಮೆಂಟ್ ಸರ್ಚ್ ಎಂದರೆ ಪ್ರತಿ ಪುಟದ ಪಠ್ಯವನ್ನು ಅಸಿಂಕ್ರೋನಸ್ ಆಗಿ (asynchronously) ಹೊರತೆಗೆಯುವುದು ಮತ್ತು ಇಂಡೆಕ್ಸ್ ಮಾಡುವುದು, ನಂತರ ಮೇನ್ ಥ್ರೆಡ್ ಅನ್ನು (main thread) ಬ್ಲಾಕ್ ಮಾಡದಂತೆ ಫಲಿತಾಂಶಗಳನ್ನು ಕ್ಯೂನಲ್ಲಿರಿಸುವ UI ಅನ್ನು ನಿರ್ಮಿಸುವುದು. Cursor ನಂತಹ AI ಕೋಡಿಂಗ್ ಅಸಿಸ್ಟೆಂಟ್ ಬಾಯ್ಲರ್ ಪ್ಲೇಟ್ (boilerplate) ಅನ್ನು ಸೃಷ್ಟಿಸಿದರೂ ಸಹ, ಆರ್ಕಿಟೆಕ್ಚರ್ (architecture) ನಿಮ್ಮ ಜವಾಬ್ದಾರಿಯೇ ಆಗಿರುತ್ತದೆ. ಕಷ್ಟದ ಭಾಗಗಳು ಮಾಯವಾಗುವುದಿಲ್ಲ; ಅವು ನಿಮ್ಮ ಕೋಡ್ಬೇಸ್ಗೆ (codebase) ವರ್ಗಾವಣೆಯಾಗುತ್ತವೆ. ನಿಮ್ಮ ಅವಶ್ಯಕತೆಗಳು ನಿಜವಾಗಿಯೂ ನಿರ್ದಿಷ್ಟವಾಗಿದ್ದಾಗ ಅಥವಾ ನಿಮ್ಮ ಬಳಿ ಹಲವಾರು ವಾರಗಳ ಸಮಯವಿದ್ದು, ರೆಡಿಮೇಡ್ (off-the-shelf) ವರ್ತನೆಯನ್ನು ತಪ್ಪಿಸಲು ಬಲವಾದ ಕಾರಣವಿದ್ದಾಗ ಮಾತ್ರ ಈ ಹಾದಿ ಸೂಕ್ತವಾಗುತ್ತದೆ.
vue-pdf-embed: The Lightweight Path
ಕೆಲವೊಮ್ಮೆ ನಿಮಗೆ ಕೇವಲ ಫೈಲ್ ಅನ್ನು ತೋರಿಸುವುದು ಮಾತ್ರ ಬೇಕಾಗಿರುತ್ತದೆ. vue-pdf-embed ಎಂಬುದು ಒಂದು ಸೋರ್ಸ್ ಅನ್ನು ಸ್ವೀಕರಿಸಿ ಪುಟಗಳನ್ನು ವರ್ಟಿಕಲ್ ಸ್ಟ್ಯಾಕ್ನಲ್ಲಿ (vertical stack) ರೆಂಡರ್ ಮಾಡುವ Vue 3 ಕಾಂಪೊನೆಂಟ್ ಆಗಿದೆ. ಇನ್ಸ್ಟಾಲೇಶನ್ ಮತ್ತು ಇಂಟಿಗ್ರೇಶನ್ ಮಾಡಲು ಕೆಲವೇ ನಿಮಿಷಗಳು ಬೇಕಾಗುತ್ತವೆ. ಜನರೇಟ್ ಮಾಡಿದ ಇನ್ವಾಯ್ಸ್ಗಳು ಅಥವಾ ಕಾಂಪ್ಲೈಯನ್ಸ್ ವರದಿಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವ ಇಂಟರ್ನಲ್ ಅಡ್ಮಿನ್ ಪ್ಯಾನಲ್ಗೆ ಇದು ಸಾಕು. ಕಾಂಪೊನೆಂಟ್ ಕ್ಯಾನ್ವಾಸ್ ರೆಂಡರಿಂಗ್ ಅನ್ನು ನಿರ್ವಹಿಸುತ್ತದೆ ಮತ್ತು ನಿಮ್ಮ ಬಳಕೆದಾರರು ಸ್ಕ್ರೋಲ್ ಮಾಡಬಹುದು.
ಇದಕ್ಕೆ ಬದಲಾಗಿ ನೀವು ಇತರ ಎಲ್ಲವನ್ನೂ ಕಳೆದುಕೊಳ್ಳುತ್ತೀರಿ. ಇದರಲ್ಲಿ ಟೂಲ್ಬಾರ್, ಡಾಕ್ಯುಮೆಂಟ್ ಸರ್ಚ್, ಥಂಬ್ನೈಲ್ ಸೈಡ್ಬಾರ್ ಮತ್ತು ಸ್ಕ್ರೋಲ್ ಕಂಟೇನರ್ ಮೂಲಕ ಪುಟಗಳನ್ನು ನೋಡುವುದನ್ನು ಹೊರತುಪಡಿಸಿ ಬೇರೆ ಯಾವುದೇ ಪೇಜ್ ನ್ಯಾವಿಗೇಷನ್ ಇಲ್ಲ. ಸ್ಟೇಕ್ಹೋಲ್ಡರ್ (stakeholder) "ನಾನು ಇನ್ವಾಯ್ಸ್ ಸಂಖ್ಯೆಯನ್ನು ಹುಡುಕಬಹುದೇ?" ಎಂದು ಕೇಳಿದ ತಕ್ಷಣ, ನಿಮ್ಮ ಎರಡು ಗಂಟೆಯ ಇಂಟಿಗ್ರೇಶನ್ ಒಂದು ದೊಡ್ಡ ಕಸ್ಟಮ್ ಬಿಲ್ಡ್ ಆಗಿ ಬದಲಾಗುತ್ತದೆ. ನಿಮ್ಮ PDF ಗಳು ಚಿಕ್ಕದಾಗಿದ್ದಾಗ, ನಿಮ್ಮ ಬಳಕೆದಾರರು ಇಂಟರ್ನಲ್ ಆಗಿದ್ದಾಗ ಮತ್ತು ಇಂಟರಾಕ್ಷನ್ ಮಾಡೆಲ್ ಕೇವಲ 'ರೀಡ್-ಓನ್ಲಿ ಸ್ಕ್ರೋಲಿಂಗ್' ಆಗಿದ್ದಾಗ ಇದನ್ನು ಆರಿಸಿ.
@tato30/vue-pdf: The Control Path
ಈ ಲೈಬ್ರರಿಯು ಮೊನೊಲಿಥಿಕ್ ಕಾಂಪೊನೆಂಟ್ನಿಂದ ಕಮಪೋಸಬಲ್ (composable) ಆಗಿ ಬದಲಾಗುತ್ತದೆ. ಇದು usePDF ಅನ್ನು ಎಕ್ಸ್ಪೋಸ್ ಮಾಡುತ್ತದೆ, ಇದನ್ನು ನೀವು ನಿಮ್ಮ setup ಬ್ಲಾಕ್ ಒಳಗೆ ಕರೆಯಬಹುದು. ಇಡೀ ಸ್ಕ್ರೋಲ್ ಮಾಡಬಹುದಾದ ಡಾಕ್ಯುಮೆಂಟ್ ಅನ್ನು ರೆಂಡರ್ ಮಾಡುವ ಬದಲು, ನೀವು ರಿಯಾಕ್ಟಿವ್ ರೆಫ್ಗಳ (reactive refs) ಮೂಲಕ ಒಂದೊಂದೇ ಪುಟವನ್ನು ನಿರ್ವಹಿಸುತ್ತೀರಿ. ಇದು ಹೆಚ್ಚಿನ ಕೆಲಸದಂತೆ ಕೇಳಿಸಬಹುದು, ಆದರೆ ಇಂಟರ್ಫೇಸ್ ನಿಖರತೆಯನ್ನು ಬಯಸಿದಾಗ ಇದು ಮುಕ್ತಿ ನೀಡುತ್ತದೆ.
ಇನ್ಶೂರೆನ್ಸ್ ಕ್ಲೈಮ್ ರಿವ್ಯೂ ಟೂಲ್ ಅನ್ನು ಕಲ್ಪಿಸಿಕೊಳ್ಳಿ, ಅಲ್ಲಿ ಅಡ್ಜಸ್ಟರ್ಗಳು ಒಂದು ಡಾಕ್ಯುಮೆಂಟ್ ಪುಟವನ್ನು ಪರಿಶೀಲಿಸುತ್ತಾರೆ, 'Next' ಕ್ಲಿಕ್ ಮಾಡುತ್ತಾರೆ ಮತ್ತು ಸಿಸ್ಟಮ್ ಪ್ರತಿಯೊಂದು ವೀಕ್ಷಣಾ ಘಟನೆಯನ್ನು (viewing event) ಲಾಗ್ ಮಾಡುತ್ತದೆ. ಇಲ್ಲಿ ಕಂಟಿನ್ಯೂ ಅಸ್ ಸ್ಕ್ರೋಲ್ ಮಾಡಬಹುದಾದ ವೀವರ್ ಸರಿಯಾದ ಆಯ್ಕೆಯಲ್ಲ. ನಿಮಗೆ ನಿಯಂತ್ರಿತ ಪೇಜಿನೇಟರ್ (controlled paginator) ಬೇಕು, ಬಹುಶಃ ಪುಟ ಮಟ್ಟದ ಕಾಮೆಂಟ್ಗಳು ಅಥವಾ ಪ್ರಸ್ತುತ ಪುಟ ಇಂಡೆಕ್ಸ್ಗೆ ನೇರವಾಗಿ ಸಂಬಂಧಿಸಿದ ಅಪ್ರೂವಲ್ ಬಟನ್ಗಳೊಂದಿಗೆ. usePDF ನಿಮಗೆ ಪುಟದ ಸಂಖ್ಯೆ ಮತ್ತು ಪ್ರಸ್ತುತ ಪುಟವನ್ನು ರಿಯಾಕ್ಟಿವ್ ಡೇಟಾ ಆಗಿ ನೀಡುವ ಕಾರಣ, ಅದನ್ನು ಕಸ್ಟಮ್ ನ್ಯಾವಿಗೇಷನ್ ಬಾರ್ ಅಥವಾ ಪ್ರೋಗ್ರೆಸ್ ಇಂಡಿಕೇಟರ್ಗೆ ಜೋಡಿಸುವುದು ಸಹಜವಾಗಿ ಅನಿಸುತ್ತದೆ. ನೀವು ಇನ್ನೂ ಕ್ಯಾನ್ವಾಸ್ ಸುತ್ತದ UI ಎಲಿಮೆಂಟ್ಗಳನ್ನು ನಿರ್ಮಿಸಬೇಕಾಗುತ್ತದೆ, ಆದರೆ ನೀವು ಅತ್ಯಂತ ಕೆಳಮಟ್ಟದ ರೆಂಡರಿಂಗ್ ಬಾಯ್ಲರ್ ಪ್ಲೇಟ್ನಿಂದ ತಪ್ಪಿಸಿಕೊಳ್ಳಬಹುದು. ಬಳಕೆದಾರರು ಇಡೀ ಹಸ್ತಪ್ರತಿಯನ್ನು ಸ್ಕ್ಯಾನ್ ಮಾಡುವ ಬದಲು ಪುಟಗಳನ್ನು ಒಂದೊಂದಾಗಿ ನೋಡುವ ಆಪ್ಗಳಿಗೆ ಇದು ಸೂಕ್ತವಾಗಿದೆ.
Vue PDF Viewer: The Full-Service Path
ವೀವರ್ ಫೀಚರ್ಗಳನ್ನು (viewer features) ಮತ್ತೆ ನಿರ್ಮಿಸುವುದು ನಿಮ್ಮ ನಿಜವಾದ ಉತ್ಪನ್ನದ ಕೆಲಸದಿಂದ ಗಮನವನ್ನು ಬೇರೆಡೆಗೆ ಸೆಳೆಯುವಂತಾಗುತ್ತದೆ. Vue PDF Viewer ಎಂಬುದು ಪೂರ್ಣ ಟೂಲ್ಬಾರ್, ಪಠ್ಯ ಹುಡುಕಾಟ (text search), ಅ𝗻ೋಟೇಶನ್ಗಳು (annotations), ಮೊಬೈಲ್ ರೆಸ್ಪಾನ್ಸಿವ್ನೆಸ್ ಮತ್ತು ಎಡ್ಜ್ ಕೇಸ್ಗಳಲ್ಲಿ ಪರೀಕ್ಷಿಸಲಾದ ವರ್ಚುವಲ್ ಸ್ಕ್ರೋಲಿಂಗ್ನೊಂದಿಗೆ ಬರುವ ಒಂದು ವಾಣಿಜ್ಯ ಘಟಕವಾಗಿದೆ (commercial component). ನಿಮ್ಮ ಕೆಲಸವು ಹೊಸದನ್ನು ಕಂಡುಹಿಡಿಯುವ ಬದಲು ಕಾನ್ಫಿಗರೇಶನ್ ಮಾಡುವುದಾಗಿ ಬದಲಾಗುತ್ತದೆ. ನಿಮ್ಮ ಡಿಸೈನ್ ಸಿಸ್ಟಮ್ಗೆ ಹೊಂದಿಕೆಯಾಗುವಂತೆ ನೀವು ಥೀಮ್ ಅನ್ನು ಹೊಂದಿಸುತ್ತೀರಿ, ನಿಮಗೆ ಬೇಕಾದ ಫೀಚರ್ಗಳನ್ನು ಆನ್/ಆಫ್ ಮಾಡುತ್ತೀರಿ ಮತ್ತು ನಿಮ್ಮ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಇತರರಿಗಿಂತ ಭಿನ್ನವಾಗಿಸುವ ಕೆಲಸದತ್ತ ಗಮನ ಹರಿಸುತ್ತೀರಿ.
ಆರಂಭಿಕ ಲೈಸೆನ್ಸ್ ಶುಲ್ಕವು ನಿಜವಾಗಿಯೂ ಇರುತ್ತದೆ, ಆದರೆ ಸರ್ಚ್ ಇಂಡೆಕ್ಸಿಂಗ್ ಮತ್ತು ಅ𝗻ೋಟೇಶನ್ ಲೇಯರ್ಗಳನ್ನು ಮತ್ತೆ ನಿರ್ಮಿಸಲು ವ್ಯಯವಾಗುವ ಎರಡು ವಾರಗಳ ಇಂಜಿನಿಯರಿಂಗ್ ಸಮಯದ ವೆಚ್ಚವೂ ಅಷ್ಟೇ ದೊಡ್ಡದಾಗಿರುತ್ತದೆ. ನೀವು ಒಂದು ನಿರ್ದಿಷ್ಟ ಗಡುವಿನೊಳಗೆ (deadline) ಪ್ರೊಡಕ್ಷನ್ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಬಿಡುಗಡೆ ಮಾಡುತ್ತಿರುವಾಗ ಮತ್ತು ನಿಮ್ಮ ಬಳಕೆದಾರರು ಡೆಸ್ಕ್ಟಾಪ್ PDF ಸಾಫ್ಟ್ವೇರ್ಗೆ ಸಮಾನವಾದ ಅನುಭವವನ್ನು ನಿರೀಕ್ಷಿಸುತ್ತಿರುವಾಗ, ಇದು ಸರಿಯಾದ ಸಾಧನವಾಗಿದೆ.
ಇನ್ಸ್ಟಾಲೇಶನ್ನ ನಿಜವಾದ ವೆಚ್ಚವೇನು
npm install ಕಮಾಂಡ್ ಅನ್ನು ಒಟ್ಟು ಬೆಲೆ ಎಂದು ಭಾವಿಸುವುದು ದೊಡ್ಡ ತಪ್ಪು. ಇನ್ಸ್ಟಾಲೇಶನ್ ಮುಗಿದ ನಂತರ ನೀವು ಏನನ್ನು ನಿರ್ಮಿಸುತ್ತೀರಿ ಎಂಬುದು ನಿಜವಾದ ವೆಚ್ಚವಾಗಿದೆ. ಒಂದು ಲೈಟ್ವೇಯ್ಟ್ ಲೈಬ್ರರಿಯು ಮೊದಲ ದಿನ ಅಗ್ಗವಾಗಿರಬಹುದು, ಆದರೆ ಇಪ್ಪತ್ತನೇ ದಿನ ನಿಮಗೆ ಸರ್ಚ್ ಬಾರ್ ಬೇಕೆಂದು ಅರಿವಾದಾಗ ಅದು ದುಬಾರಿಯಾಗುತ್ತದೆ. DIY (ಸ್ವತಃ ನಿರ್ಮಿಸುವ) ಮಾರ್ಗವು ಮೊದಲ ದಿನ ಉಚಿತವಾಗಿರುತ್ತದೆ ಮತ್ತು ಅರವತ್ತನೇ ದಿನ ನೀವು ಇನ್ನೂ ಮೊಬೈಲ್ ಟಚ್ ಟಾರ್ಗೆಟ್ಗಳು ಮತ್ತು ಪ್ರಿಂಟ್ ಸ್ಟೈಲ್ಶೀಟ್ಗಳನ್ನು ಸರಿಪಡಿಸುತ್ತಿರುವಾಗ ಅದು ದುಬಾರಿಯಾಗುತ್ತದೆ. ವಾಣಿಜ್ಯ ಮಾರ್ಗವು ಆರಂಭದಲ್ಲಿ ಹಣವನ್ನು ಕೇಳುತ್ತದೆ, ಆದರೆ ಇದು ನಿಮ್ಮ ನಿಜವಾದ ಬಿಸಿನೆಸ್ ಲಾಜಿಕ್ ಮೇಲೆ ವ್ಯಯಿಸಬಹುದಾದ ವಾರಗಟ್ಟಲೆ ಇಂಜಿನಿಯರಿಂಗ್ ಸಮಯವನ್ನು ಉಳಿಸುತ್ತದೆ.
ಅದರ README ಚಿಕ್ಕದಾಗಿದೆ ಮತ್ತು ಸುಲಭವಾಗಿದೆ ಎಂಬ ಕಾರಣಕ್ಕೆ ಲೈಬ್ರರಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಡಿ. ನಿಮ್ಮ ಪ್ರಾಜೆಕ್ಟ್ ಅಗತ್ಯತೆಗಳ ಆಧಾರದ ಮೇಲೆ ಆಯ್ಕೆ ಮಾಡಿ. ಥಂಬ್ನೈಲ್ನ ಸೈಡ್ಬಾರ್, ಪಠ್ಯ ಹುಡುಕಾಟ ಮತ್ತು ಕ್ಲೈಂಟ್-ಸೈಡ್ ಅ𝗻ೋಟೇಶನ್ಗಳು ನಿಮಗೆ ಪೂರ್ಣ-ಸೇವೆಯ ಪರಿಹಾರದ (full-service solution) ಕಡೆಗೆ ಸೂಚಿಸುತ್ತವೆ. ಇಂಟರ್ನಲ್ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನ ಒಳಗಿನ ತ್ವರಿತ ರಸೀದಿ ಪ್ರಿವ್ಯೂ (receipt preview) ನಿಮಗೆ ಲೈಟ್ವೇಯ್ಟ್ ಎಂಬೆಡ್ (lightweight embed) ಕಡೆಗೆ ಸೂಚಿಸುತ್ತದೆ.
ನಿಜವಾದ ಸಾರಾಂಶ
ನೀವು ಯಾವುದೇ Vue PDF ಲೈಬ್ರರಿಯನ್ನು ಬಳಸಲು ನಿರ್ಧರಿಸುವ ಮೊದಲು, ನಿಮ್ಮ ಬಳಕೆದಾರರು ನಿಖರವಾಗಿ ಏನು ಮಾಡಬೇಕೆಂದು ಬರೆದಿಟ್ಟುಕೊಳ್ಳಿ. ಅವರು ಕೇವಲ ಸಣ್ಣ ದಾಖಲೆಗಳನ್ನು ಸ್ಕ್ರೋಲ್ ಮಾಡಬೇಕೆಂದರೆ, vue-pdf-embed ನಿಮಗೆ ಸಾಕು. ಅವರು ನಿಯಂತ್ರಿತ ವರ್ಕ್ಫ್ಲೋನಲ್ಲಿ ಪುಟಗಳನ್ನು ನೋಡಬೇಕೆಂದರೆ, @tato30/vue-pdf ಅನ್ನು ಬಳಸಿ. ಅವರು ಬಿಸಿನೆಸ್-ಕ್ರಿಟಿಕಲ್ ಅಪ್ಲಿಕೇಶನ್ನಲ್ಲಿ ಅ𝗻ೋಟೇಟ್, ಸರ್ಚ್ ಮತ್ತು ಪ್ರಿಂಟ್ ಮಾಡಬೇಕೆಂದರೆ, ವಾಣಿಜ್ಯ ವೀವರ್ ಅನ್ನು ಖರೀದಿಸಿ. ಮತ್ತು ನಿಮ್ಮ ಅಗತ್ಯತೆಗಳು ನಿಜವಾಗಿಯೂ ವಿಶಿಷ್ಟವಾಗಿದ್ದು, ನಿಮ್ಮ ಸಮಯದ ಗಡುವು ಹೊಂದಾಣಿಕೆಯಾಗುವಂತಿದ್ದರೆ (flexible), ಕೆಲವು ವಾರಗಳನ್ನು ಮೀಸಲಿಟ್ಟು ನೇರವಾಗಿ PDF.js ಮೇಲೆ ನಿರ್ಮಿಸಿ. PDF ವೀವರ್ ಎಂಬುದು ಕೇವಲ ಒಂದು ಬಾಕ್ಸ್ನಲ್ಲಿರುವ ಫೈಲ್ ಅಲ್ಲ. ಇದು ಪೂರ್ಣ ಪ್ರಮಾಣದ ಡಾಕ್ಯುಮೆಂಟ್ ಇಂಟರ್ಫೇಸ್ ಆಗಿದೆ, ಮತ್ತು ನಿಮ್ಮ ಬಿಲ್ಡಿಂಗ್ ಬ್ಲಾಕ್ನ ಆಯ್ಕೆಯು ನೀವು ಈ ತಿಂಗಳಲ್ಲೇ ಬಿಡುಗಡೆ ಮಾಡುತ್ತೀರಾ ಅಥವಾ ಮುಂದಿನ ತ್ರೈಮಾಸಿಕದಲ್ಲಿ ಮಾಡುತ್ತೀರಾ ಎಂಬುದನ್ನು ನಿರ್ಧರಿಸುತ್ತದೆ.
