notifications Get new issue notifications in your browser
  • Library icon Library logo
  • Search Results
  •    Library
  •    Download PDF
  •    Mobile view
  •    Subscribe
1 / 80

1

2 - 3

4 - 5

6 - 7

8 - 9

10 - 11

12 - 13

14 - 15

16 - 17

18 - 19

20 - 21

22 - 23

24 - 25

26 - 27

28 - 29

30 - 31

32 - 33

34 - 35

36 - 37

38 - 39

40 - 41

42 - 43

44 - 45

46 - 47

48 - 49

50 - 51

52 - 53

54 - 55

56 - 57

58 - 59

60 - 61

62 - 63

64 - 65

66 - 67

68 - 69

70 - 71

72 - 73

74 - 75

76 - 77

78 - 79

80
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
cat
Done
Print Options

Custom range will download the full PDF and open the browser's print dialog.

`); printDocument.close(); // Clean up after printing printFrame.contentWindow.onafterprint = function() { document.body.removeChild(printFrame); }; // Fallback cleanup after a delay setTimeout(function() { const frame = document.getElementById('printFrame'); if (frame) { document.body.removeChild(frame); } }, 60000); } function getCurrentVisiblePageImage() { const currentSlide = window.getCurrentSlide(); if (!currentSlide) return null; // Check which image is currently visible in single page mode const leftImage = currentSlide.find('.left-replica-image img, .single-replica-image img'); const rightImage = currentSlide.find('.right-replica-image img'); // In single page mode, check visibility if (leftImage.is(':visible') && leftImage.length > 0) { return leftImage.attr('src'); } else if (rightImage.is(':visible') && rightImage.length > 0) { return rightImage.attr('src'); } // Fallback to first visible image const anyVisibleImage = currentSlide.find('img:visible').first(); return anyVisibleImage.length > 0 ? anyVisibleImage.attr('src') : null; } function getLeftPageImage() { const currentSlide = window.getCurrentSlide(); if (!currentSlide) return null; // Try to find left page image or single page image const leftImage = currentSlide.find('.left-replica-image img, .single-replica-image img').first(); return leftImage.length > 0 ? leftImage.attr('src') : null; } function getRightPageImage() { const currentSlide = window.getCurrentSlide(); if (!currentSlide) return null; const rightImage = currentSlide.find('.right-replica-image img').first(); return rightImage.length > 0 ? rightImage.attr('src') : null; } function printCustomRange() { if (!window.pdfDownloadUrl) { alert('PDF download is not available for this issue.'); return; } // Show loading indicator const loadingOverlay = document.getElementById('loadingOverlay'); if (loadingOverlay) { loadingOverlay.style.display = 'flex'; } // Fetch the PDF and print using hidden iframe fetch(window.pdfDownloadUrl) .then(response => { if (!response.ok) { throw new Error('Failed to download PDF'); } return response.blob(); }) .then(blob => { // Hide loading indicator if (loadingOverlay) { loadingOverlay.style.display = 'none'; } // Create a blob URL const blobUrl = URL.createObjectURL(blob); // Remove any existing print frame const existingFrame = document.getElementById('pdfPrintFrame'); if (existingFrame) { document.body.removeChild(existingFrame); } // Create a hidden iframe for printing const printFrame = document.createElement('iframe'); printFrame.id = 'pdfPrintFrame'; printFrame.style.position = 'absolute'; printFrame.style.top = '-10000px'; printFrame.style.left = '-10000px'; printFrame.style.width = '1px'; printFrame.style.height = '1px'; printFrame.src = blobUrl; document.body.appendChild(printFrame); // Wait for the PDF to load, then print printFrame.onload = function() { setTimeout(function() { try { printFrame.contentWindow.focus(); printFrame.contentWindow.print(); } catch (e) { // If printing from iframe fails (cross-origin issues with some browsers), // fall back to opening in new tab console.warn('Iframe printing failed, falling back to new tab:', e); window.open(blobUrl, '_blank'); } }, 500); // Small delay to ensure PDF is rendered }; // Clean up after printing if (printFrame.contentWindow) { printFrame.contentWindow.onafterprint = function() { setTimeout(function() { URL.revokeObjectURL(blobUrl); const frame = document.getElementById('pdfPrintFrame'); if (frame) { document.body.removeChild(frame); } }, 1000); }; } // Fallback cleanup after a delay setTimeout(function() { URL.revokeObjectURL(blobUrl); const frame = document.getElementById('pdfPrintFrame'); if (frame) { document.body.removeChild(frame); } }, 120000); }) .catch(error => { // Hide loading indicator if (loadingOverlay) { loadingOverlay.style.display = 'none'; } console.error('Error downloading PDF:', error); // Fallback: open PDF URL directly in new tab window.open(window.pdfDownloadUrl, '_blank'); }); }

Please choose an article.

Share