Skip to content

Commit a618b86

Browse files
authored
Merge pull request #251 from PatrickWaweru/fixPrintErrorsOnFirefoxBrowser
Fixed the issue of printing specimen label and manifest in firefox.
2 parents 0adb4ca + 489fba2 commit a618b86

File tree

6 files changed

+29
-14
lines changed

6 files changed

+29
-14
lines changed

api/src/main/java/org/openmrs/module/kenyaemrorderentry/api/itext/HeiLabManifestReport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,8 @@
3131
import com.itextpdf.layout.element.Paragraph;
3232
import com.itextpdf.layout.element.Table;
3333
import com.itextpdf.layout.element.Text;
34-
import com.itextpdf.layout.property.TextAlignment;
35-
import com.itextpdf.layout.property.UnitValue;
34+
import com.itextpdf.layout.properties.TextAlignment;
35+
import com.itextpdf.layout.properties.UnitValue;
3636

3737
public class HeiLabManifestReport {
3838

api/src/main/java/org/openmrs/module/kenyaemrorderentry/api/itext/PrintSpecimenLabel.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
import com.itextpdf.layout.element.Paragraph;
1414
import com.itextpdf.layout.element.Table;
1515
import com.itextpdf.layout.element.Text;
16-
import com.itextpdf.layout.property.UnitValue;
16+
import com.itextpdf.layout.properties.UnitValue;
1717
import org.apache.commons.lang.WordUtils;
1818
import org.openmrs.Patient;
1919
import org.openmrs.module.kenyaemrorderentry.manifest.LabManifestOrder;

api/src/main/java/org/openmrs/module/kenyaemrorderentry/api/itext/ViralLoadLabManifestReport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import com.itextpdf.layout.element.Paragraph;
1818
import com.itextpdf.layout.element.Table;
1919
import com.itextpdf.layout.element.Text;
20-
import com.itextpdf.layout.property.TextAlignment;
21-
import com.itextpdf.layout.property.UnitValue;
20+
import com.itextpdf.layout.properties.TextAlignment;
21+
import com.itextpdf.layout.properties.UnitValue;
2222
import org.apache.commons.lang.WordUtils;
2323
import org.apache.commons.lang3.StringUtils;
2424
import org.openmrs.Encounter;

omod/src/main/java/org/openmrs/module/kenyaemrorderentry/page/controller/manifest/DownloadManifestPageController.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@
1212
import java.io.IOException;
1313
import java.io.InputStream;
1414

15+
import org.springframework.http.HttpHeaders;
16+
import org.springframework.http.MediaType;
1517
public class DownloadManifestPageController {
1618

1719

@@ -39,9 +41,14 @@ public void controller(@RequestParam(value = "manifest") LabManifest manifest, H
3941
if (generatedManifest != null) {
4042
try {
4143
InputStream is = new FileInputStream(generatedManifest);
44+
// response.setContentType(MediaType.APPLICATION_PDF);
4245
response.setContentType("application/pdf");
43-
response.addHeader("content-disposition", "inline;filename=" + generatedManifest.getName());
44-
IOUtils.copy(is, response.getOutputStream());
46+
// To open PDF in browser
47+
// response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=" + generatedManifest.getName());
48+
// To download PDF
49+
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + generatedManifest.getName());
50+
int bytes = IOUtils.copy(is, response.getOutputStream());
51+
response.setContentLength(bytes);
4552
response.flushBuffer();
4653
} catch (IOException ex) {
4754
System.out.println("Error writing file to output stream");

omod/src/main/java/org/openmrs/module/kenyaemrorderentry/page/controller/manifest/PrintSpecimenLabelPageController.java

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,25 +11,33 @@
1111
import java.io.IOException;
1212
import java.io.InputStream;
1313

14+
import org.springframework.http.HttpHeaders;
15+
import org.springframework.http.MediaType;
16+
1417
public class PrintSpecimenLabelPageController {
1518

1619

1720
public void controller(@RequestParam(value = "manifestOrder") LabManifestOrder order, HttpServletResponse response) {
1821

1922
PrintSpecimenLabel report = new PrintSpecimenLabel(order);
20-
File generatedManifest = null;
23+
File generatedSpecimenLabel = null;
2124
try {
22-
generatedManifest = report.downloadSpecimenLabel();
25+
generatedSpecimenLabel = report.downloadSpecimenLabel();
2326
} catch (Exception ex) {
2427
ex.printStackTrace();
2528
}
2629

27-
if (generatedManifest != null) {
30+
if (generatedSpecimenLabel != null) {
2831
try {
29-
InputStream is = new FileInputStream(generatedManifest);
32+
InputStream is = new FileInputStream(generatedSpecimenLabel);
33+
// response.setContentType(MediaType.APPLICATION_PDF);
3034
response.setContentType("application/pdf");
31-
response.addHeader("content-disposition", "inline;filename=" + generatedManifest.getName());
32-
IOUtils.copy(is, response.getOutputStream());
35+
// To open PDF in browser
36+
// response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "inline; filename=" + generatedSpecimenLabel.getName());
37+
// To download PDF
38+
response.addHeader(HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=" + generatedSpecimenLabel.getName());
39+
int bytes = IOUtils.copy(is, response.getOutputStream());
40+
response.setContentLength(bytes);
3341
response.flushBuffer();
3442
} catch (IOException ex) {
3543
System.out.println("Error writing file to output stream");

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,7 @@
5555
<webservices.restVersion>2.26.0</webservices.restVersion>
5656
<jacksonVersion>2.10.1</jacksonVersion>
5757
<apacheHttpClientVersion>4.5.10</apacheHttpClientVersion>
58-
<itextPdfVersion>7.1.13</itextPdfVersion>
58+
<itextPdfVersion>7.2.5</itextPdfVersion>
5959
<gsonVersion>2.8.7</gsonVersion>
6060
<apacheCommonsVersion>1.3</apacheCommonsVersion>
6161

0 commit comments

Comments
 (0)