You can remove the unique permissions (folder and item level) in this document library using PowerShell. Then you can break inheritance on library level and give it View Only or Read permission to everyone.
Here is a sample script for your references:
Add-PSSnapin microsoft.sharepoint.powershell -ErrorAction SilentlyContinue
#Variables for Web URL, List Name
$WebURL = "<SiteURL>"
$ListName = "<ListName>"
#get the list object
$List = (Get-SPweb $WebURL).lists.TryGetList($ListName)
#Reset Folder level inheritance
foreach ($folder in $list.Folders) {
if ($folder.HasUniqueRoleAssignments){
Write-Host "Resetting Folder inheritance at:" $folder.Url -fore Yellow
$folder.ResetRoleInheritance()
$folder.Update()
}
}
#Remove unique permissions on List Items
$ListItems = (Get-SPweb $WebURL).lists.TryGetList($ListName).Items | Where {$_.HasUniqueRoleAssignments}
Foreach($ListItem in $ListItems){
$ListItem.ResetRoleInheritance()
Write-host "Broken Inheritance Reset on List Item:" $ListItem.URL -fore Yellow
}
Write-host "Reset Inheritance completed." -fore Green
Reference:
Delete Unique Permissions (Reset Broken Inheritance) in SharePoint 2013 using PowerShell.
Another reference on how to set the library to Read Only using PowerShell:
How to Make a SharePoint List or Library to Read Only Mode using PowerShell?