Skip to content

Commit 03f1d10

Browse files
1004829: Blazor UG Update
1 parent 2b30652 commit 03f1d10

2 files changed

Lines changed: 68 additions & 2 deletions

File tree

Diagram/Server/Pages/Export/ExportToPDF.razor

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,37 @@
6969
}
7070
return _base64String;
7171
}
72-
}
72+
}
73+
<script>
74+
// Javascript methods to download file
75+
function downloadPdf(base64String, fileName) {
76+
var _sliceSize = 512;
77+
var _byteCharacters = atob(base64String);
78+
var _byteArrays = [];
79+
for (var offset = 0; offset < _byteCharacters.length; offset += _sliceSize)
80+
{
81+
var _slice = _byteCharacters.slice(offset, offset + _sliceSize);
82+
var _byteNumbers = new Array(slice.length);
83+
for (var i = 0; i < _slice.length; i++)
84+
{
85+
_byteNumbers[i] = _slice.charCodeAt(i);
86+
}
87+
var _byteArray = new Uint8Array(_byteNumbers);
88+
_byteArrays.push(_byteArray);
89+
}
90+
var _blob = new Blob(_byteArrays,
91+
{
92+
type: 'application/pdf'
93+
}
94+
);
95+
var _blobUrl = window.URL.createObjectURL(_blob);
96+
this.triggerDownload("PDF", fileName, _blobUrl);
97+
}
98+
triggerDownload: function triggerDownload(type, fileName, url)
99+
{
100+
var _anchorElement = document.createElement('a');
101+
_anchorElement.download = fileName + '.' + type.toLocaleLowerCase();
102+
_anchorElement.href = url;
103+
_anchorElement.click();
104+
}
105+
</script>

Diagram/Wasm/Pages/Export/ExportToPDF.razor

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,37 @@
6969
}
7070
return _base64String;
7171
}
72-
}
72+
}
73+
<script>
74+
// Javascript methods to download file
75+
function downloadPdf(base64String, fileName) {
76+
var _sliceSize = 512;
77+
var _byteCharacters = atob(base64String);
78+
var _byteArrays = [];
79+
for (var offset = 0; offset < _byteCharacters.length; offset += _sliceSize)
80+
{
81+
var _slice = _byteCharacters.slice(offset, offset + _sliceSize);
82+
var _byteNumbers = new Array(slice.length);
83+
for (var i = 0; i < _slice.length; i++)
84+
{
85+
_byteNumbers[i] = _slice.charCodeAt(i);
86+
}
87+
var _byteArray = new Uint8Array(_byteNumbers);
88+
_byteArrays.push(_byteArray);
89+
}
90+
var _blob = new Blob(_byteArrays,
91+
{
92+
type: 'application/pdf'
93+
}
94+
);
95+
var _blobUrl = window.URL.createObjectURL(_blob);
96+
this.triggerDownload("PDF", fileName, _blobUrl);
97+
}
98+
triggerDownload: function triggerDownload(type, fileName, url)
99+
{
100+
var _anchorElement = document.createElement('a');
101+
_anchorElement.download = fileName + '.' + type.toLocaleLowerCase();
102+
_anchorElement.href = url;
103+
_anchorElement.click();
104+
}
105+
</script>

0 commit comments

Comments
 (0)