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

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 - 81

82 - 83

84 - 85

86 - 87

88 - 89

90 - 91

92 - 93

94 - 95

96 - 97

98 - 99

100 - 101

102 - 103

104 - 105

106 - 107

108 - 109

110 - 111

112 - 113

114 - 115

116 - 117

118 - 119

120 - 121

122 - 123

124 - 125

126 - 127

128 - 129

130 - 131

132 - 133

134 - 135

136 - 137

138 - 139

140 - 141

142 - 143

144 - 145

146 - 147

148 - 149

150 - 151

152 - 153

154
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
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