I have an email-enabled document library where reports in PDF format are delivered daily.
I need to display the most recent reports embedded on a Web Part page.
The filenames are structured as name_datestamptimestamp.pdf
Different reports are sent here so I have to discern a part of the filename (eg. LAN Utilization, WAN Utilization)
<script type="text/javascript" src="/jquery-1.8.3.min.js"></script><script type="text/javascript">// <![CDATA[
//alert("So Far So Good");
$(document).ready(function() {
// alert("Document is Ready");
var soapEnv =
"<?xml version="1.0" encoding="utf-8"?> <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body>
<GetListItems xmlns="http://schemas.microsoft.com/sharepoint/soap/">
<listName>CMReports</listName>
<viewFields>
<ViewFields>
<FieldRef Name='LinkFilenameNoMenu' />
</ViewFields>
</viewFields>
<query>
<Query>
<Where>
<Contains>
<FieldRef Name='FileLeafRef' />
<Value Type='File'>PARTOFFILENAME</Value>
</Contains>
</Where>
<OrderBy>
<FieldRef Name='Modified' Ascending='FALSE' />
</OrderBy>
</Query>
</query>
<rowLimit>1</rowLimit>
</GetListItems>
</soap:Body>
</soap:Envelope>";
// alert(soapEnv);
$.ajax({
url: "/_vti_bin/lists.asmx",
type: "POST",
dataType: "xml",
data: soapEnv,
complete: processResult,
contentType: "text/xml; charset="utf-8""
});
});
function processResult(xData, Status)
{
// alert(xData.responseXML.xml);
$(xData.responseXML).find("z\:row").each(function() {
// alert($(this).attr("ows_LinkFilenameNoMenu"));
var ObjHTML = "<embed width='940' height='1024' src='SUBSITE/DOCUMENTLIBRARY" + $(this).attr("ows_LinkFilenameNoMenu") + "#navpanes=0' type='application/pdf'></embed>";
// $("#PDF").append(xData.responseXML.xml);
// alert(ObjHTML);
$("#SPDF").append(ObjHTML);
});
}
// ]]></script>
<div id="SPDF" />
I saved this snippet in an HTML file and call it from a Content Editor Web Part elsewhere.
