diff --git a/src/frontend/app/folder/document-list/folder-document-list.component.ts b/src/frontend/app/folder/document-list/folder-document-list.component.ts
index 5ca8c4ec15aa84df366d4d894bdc33e065a15c4a..0f14a49909e41678c1edb00a4432c40614fe5d67 100644
--- a/src/frontend/app/folder/document-list/folder-document-list.component.ts
+++ b/src/frontend/app/folder/document-list/folder-document-list.component.ts
@@ -407,7 +407,14 @@ export class FolderDocumentListComponent implements OnInit, OnDestroy {
     }
 
     viewDocument(row: any) {
-        window.open('../../rest/resources/' + row.resId + '/content?mode=view', '_blank');
+        this.http.get(`../../rest/resources/${row.resId}/content?mode=view`, { responseType: 'blob' })
+            .subscribe((data: any) => {
+                const file = new Blob([data], { type: 'application/pdf' });
+                const fileURL = URL.createObjectURL(file);
+                const newWindow = window.open();
+                newWindow.document.write(`<iframe style="width: 100%;height: 100%;margin: 0;padding: 0;" src="${fileURL}" frameborder="0" allowfullscreen></iframe>`);
+                newWindow.document.title = row.chrono;
+            });
     }
 }
 export interface BasketList {
diff --git a/src/frontend/app/home/followed-list/followed-document-list.component.ts b/src/frontend/app/home/followed-list/followed-document-list.component.ts
index b2425f6db67f3c641313af6cf7f4b5d8d4911f88..1d29098018afa1a8f383471cf07d1ef6584c9a43 100644
--- a/src/frontend/app/home/followed-list/followed-document-list.component.ts
+++ b/src/frontend/app/home/followed-list/followed-document-list.component.ts
@@ -350,7 +350,14 @@ export class FollowedDocumentListComponent implements OnInit, OnDestroy {
     }
 
     viewDocument(row: any) {
-        window.open('../../rest/resources/' + row.resId + '/content?mode=view', '_blank');
+        this.http.get(`../../rest/resources/${row.resId}/content?mode=view`, { responseType: 'blob' })
+            .subscribe((data: any) => {
+                const file = new Blob([data], { type: 'application/pdf' });
+                const fileURL = URL.createObjectURL(file);
+                const newWindow = window.open();
+                newWindow.document.write(`<iframe style="width: 100%;height: 100%;margin: 0;padding: 0;" src="${fileURL}" frameborder="0" allowfullscreen></iframe>`);
+                newWindow.document.title = row.chrono;
+            });
     }
 }
 export interface BasketList {
diff --git a/src/frontend/app/home/home.component.ts b/src/frontend/app/home/home.component.ts
index c4364f60228e5e1aa63cfe14b968b0aa4fedd10a..235555410c358f4033aa6f3293e335c200c8a901 100644
--- a/src/frontend/app/home/home.component.ts
+++ b/src/frontend/app/home/home.component.ts
@@ -1,4 +1,4 @@
-import { Component, OnInit, QueryList, ViewChildren } from '@angular/core';
+import { Component, OnInit, QueryList, ViewChildren, AfterViewInit } from '@angular/core';
 import { HttpClient } from '@angular/common/http';
 import { LANG } from '../translate.component';
 import { MatDialog } from '@angular/material/dialog';
@@ -17,7 +17,7 @@ declare var $: any;
     styleUrls: ['home.component.scss'],
     providers: [AppService]
 })
-export class HomeComponent implements OnInit {
+export class HomeComponent implements OnInit, AfterViewInit {
 
     lang: any = LANG;
     loading: boolean = false;
@@ -78,7 +78,14 @@ export class HomeComponent implements OnInit {
     }
 
     viewDocument(row: any) {
-        window.open('../../rest/resources/' + row.res_id + '/content?mode=view', '_blank');
+        this.http.get(`../../rest/resources/${row.res_id}/content?mode=view`, { responseType: 'blob' })
+            .subscribe((data: any) => {
+                const file = new Blob([data], { type: 'application/pdf' });
+                const fileURL = URL.createObjectURL(file);
+                const newWindow = window.open();
+                newWindow.document.write(`<iframe style="width: 100%;height: 100%;margin: 0;padding: 0;" src="${fileURL}" frameborder="0" allowfullscreen></iframe>`);
+                newWindow.document.title = row.alt_identifier;
+            });
     }
 
     viewThumbnail(row: any) {
diff --git a/src/frontend/app/list/basket-list.component.ts b/src/frontend/app/list/basket-list.component.ts
index 413764f9f6487808b33cc75f19c19a86c47070c2..67ef4e6ce559b297e7bc849047b4d3a41292d80e 100755
--- a/src/frontend/app/list/basket-list.component.ts
+++ b/src/frontend/app/list/basket-list.component.ts
@@ -482,7 +482,14 @@ export class BasketListComponent implements OnInit, OnDestroy {
     }
 
     viewDocument(row: any) {
-        window.open('../../rest/resources/' + row.resId + '/content?mode=view', '_blank');
+        this.http.get(`../../rest/resources/${row.resId}/content?mode=view`, { responseType: 'blob' })
+            .subscribe((data: any) => {
+                const file = new Blob([data], { type: 'application/pdf' });
+                const fileURL = URL.createObjectURL(file);
+                const newWindow = window.open();
+                newWindow.document.write(`<iframe style="width: 100%;height: 100%;margin: 0;padding: 0;" src="${fileURL}" frameborder="0" allowfullscreen></iframe>`);
+                newWindow.document.title = row.chrono;
+            });
     }
 
     toggleMailTracking(row: any) {