Mark, not sure if you considered using custom Template Building Blocks. Although not a quick solution, in the custom TBB, we should be able to update the root path just for PDFs by calling the
Engine.AddBinary() method and specifying the path (Structure Group) where you'd like the PDFs to be published.
So, something like this in the TBB should deploy only the PDFs to the path /pdfs if the SG has the title pdfs, and other binaries would end up in the standard binary path.
public override void Transform(Engine engine, Package package)
Component component = (Component) Engine.GetObject(Package.GetByName(Package.ComponentName).GetAsSource().GetValue("ID"));
var binaryComponents = ExtractBinaryCompents(component);
// Structure group to publish PDFs
TcmUri targetStructureGroupUri = new TcmUri("tcm:x-xxx-4");
foreach (var binaryComponent in binaryComponents)
using (var input = new MemoryStream(binaryComponent.BinaryContent.GetByteArray()))
engine.AddBinary(binaryComponent.Id, null, targetStructureGroupUri,
And in the broker DB, the path of PDFs would be updated.